java简单计算器无法通过println
这是我的代码
System.out.println("setcaculatorinput");
Scanner sc = new Scanner(System.in);
int z = sc.nextInt();
System.out.println("setvalueA");
int a = sc.nextInt();
System.out.println("setvalueB");
主要的问题是我无法通过这个系统。出来println(“setcaculatorinput”),因为它正好在该行之后崩溃
# 1 楼答案
基本上,当你以sc.nextInt()的双重身份读取时,你只读取int,但是当你在流中点击enter时,会有一个不被sc.nextInt()读取的结束行字符
# 2 楼答案
1)对于初学者,将第17行更改为
String z = sc.next();
您正在读取整数,传递字符,并进一步将其视为字符串2)在each if语句之后,有
;
,所以后面的每个块都将被执行# 3 楼答案
问题在于试图将输入
+
解析为代码第13行的整数(以及stdin上的第一个输入)。您可以将调用从.nextInt()
切换到.nextLine()
,并将z
的类型更改为String
# 4 楼答案
让我格式化你的代码。。。 首先:
您所有的代码都已“格式化”:
显示该错误是因为您试图读取一个非整数字符,读取
new Scanner("").nextInt();
的Javadoc,您将看到它抛出:“InputMismatchException-如果下一个标记与整数正则表达式不匹配,或者超出范围”我给你一个简短的解决方案,但我不推荐,因为没有对输入进行检查
# 5 楼答案
此代码将起作用:
谢谢!