roywenyan
luyusen
采纳率0%
2021-03-07 17:27

输入1.0+1.0之后出现错误

package lu;
import java.util.Scanner;

public class kkk {

   public static void main(String[] args){


  Scanner sc= new Scanner (System.in );

  double s1=sc.nextDouble();

	  String s=sc.nextLine(); 
	  char op=s.charAt(0); 

  double s2=sc.nextDouble();
  
 if(op=='/') {
	 if(Math.abs(s2)<1e-10) {
		 System.out.print("Wrong input!");
	 }
	 System.out.printf("%.2f",s1/s2);
 }
 else if(op=='*') {
	 System.out.printf("%.2f",s1*s2);
 }
 else if(op=='+') {
	 System.out.printf("%.2f",s1+s2);
 }
 else if(op=='-') {
	 System.out.printf("%.2f",s1-s2);
 }
 else {
	 System.out.print("Wrong input!");
 }
   } 

}

输入1.0+1.0之后出现以下错误:

Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:864)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextDouble(Scanner.java:2413)
    at lu.kkk.main(kkk.java:11)
 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • QA_Assistant 有问必答小助手 24天前

    您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题。

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    点赞 评论 复制链接分享
  • i_mycode @nanami 1月前

    
            Scanner sc= new Scanner (System.in );
            System.out.println("第一位数");
            double s1=sc.nextDouble();
            System.out.println("运算符");
            String s=sc.next();
            char op=s.charAt(0);
            System.out.println("第二位数");
            double s2=sc.nextDouble();
            if(op=='/') {
                if(Math.abs(s2)<1e-10) {System.out.print("Wrong input!");}
                System.out.printf("%.2f",s1/s2);
            }
            else if(op=='*') {System.out.printf("%.2f",s1*s2);}
            else if(op=='+') {System.out.printf("%.2f",s1+s2);}
            else if(op=='-') {System.out.printf("%.2f",s1-s2);}
            else {System.out.print("Wrong input!");}
        }

    你这样写每个sc.nextXXX都会造成程序等待输入   输入应该分为3步。还有nextDouble后再输入运算符的时候不能使用nextLine  应该用next就可以了 nextLine会将上一个输入的回车作为输入。具体可以自行搜索next和nextLine的区别。

    点赞 评论 复制链接分享
  • weixin_45894723 潮鸣Ming 1月前

    为什么还要输入+?

    点赞 评论 复制链接分享
  • technologist_03 CSDN技术专家团—feng 1月前

    题主补充下你的需求是啥吧。sc.nextXXX 使用肯定不对,但不知道你要干啥

    点赞 评论 复制链接分享

为你推荐