Java 我能';我不明白为什么扫描在此代码下不起作用
我只是为了好玩而开始编写代码,试着做一个基本的计算器, 但我有个问题 下面是我的代码Java 我能';我不明白为什么扫描在此代码下不起作用,java,string,java.util.scanner,calculator,Java,String,Java.util.scanner,Calculator,我只是为了好玩而开始编写代码,试着做一个基本的计算器, 但我有个问题 下面是我的代码 我不明白为什么temp3不起作用 我想检查一下我犯了什么错误,所以我做了temp5,但效果不错 有人能解释一下原因吗?问题是nextDouble()在输入第二个双精度时没有用完新行字符。因此nextLine()会看到新行已经存在并使用它 添加额外的nextLine()调用以使用第二个号码的换行符 temp2 = scan.nextDouble(); // Add consuming of new line
我不明白为什么temp3不起作用 我想检查一下我犯了什么错误,所以我做了temp5,但效果不错
有人能解释一下原因吗?问题是
nextDouble()
在输入第二个双精度时没有用完新行字符。因此nextLine()
会看到新行已经存在并使用它
添加额外的nextLine()
调用以使用第二个号码的换行符
temp2 = scan.nextDouble();
// Add consuming of new line here.
String dummy = scan.nextLine();
System.out.println("What arithmetic operation you want to do?(+,-,/,*)");
temp3 = scan.nextLine();
这段代码可以编译吗?你为什么不试试看temp3的值呢?这叫做调试,它是编译的。对不起,我刚看到这个。实际上我做了,我做了另一个变量temp5,因为我认为temp3不起作用,因为它使用了两次(这太愚蠢了)。它仍然不起作用,我通过这个网站问:)。我试过了,它起作用了。你能告诉我它是怎么工作的吗?我是说为什么第二个NextDouble没有用?
temp2 = scan.nextDouble();
// Add consuming of new line here.
String dummy = scan.nextLine();
System.out.println("What arithmetic operation you want to do?(+,-,/,*)");
temp3 = scan.nextLine();