我试图与某一输入一个计算器,输入如+ 5或/ 10 2.当我编译并运行它,我得到这个错误:无法获得循环正常工作
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:907)
at java.util.Scanner.next(Scanner.java:1416)
at calc.main(calc.java:11)
我的代码
import java.util.Scanner;
public class calc {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String calc;
double num1;
double calcdu = 0.0;
double num2;
while (true) {
calc = input.next();
num1 = input.nextDouble();
num2 = input.nextDouble();
if (calc.equals("+"))
{
calcdu= num1 + num2;
System.out.printf("%.2e %s %.2e %c %.2e\n", num1, "+", num2, '=', calcdu);
}
if (calc.equals("/"))
{
calcdu=num1/num2;
System.out.printf("%.2e %s %.2e %c %.2e\n", num1, "/", num2, '=', calcdu);
}
if (calc.equals("-"))
{
calcdu=num1-num2;
System.out.printf("%.2e %s %.2e %c %.2e\n", num1, "-", num2, '=', calcdu);
}
if (calc.equals("*"))
{
calcdu=num1*num2;
System.out.printf("%.2e %s %.2e %c %.2e\n", num1, "*", num2, '=', calcdu);
}
if (calc.equals("%"))
{
calcdu=num1%num2;
System.out.printf("%.2e %s %.2e %c %.2e\n", num1, "%", num2, '=', calcdu);
}
}}}
“提交”是什么意思? 你的意思是你使用java命令运行程序? – Brian
@Iyen哈哈,只要输入那个,*完全*。 :-)作为一个猜测,不管你运行的是它的stdin绑定到你的机器的等同于/ dev/null的,所以第一次扫描任何东西都会导致文件结束。 – blm
循环如何结束,为什么变量定义在循环之外? – Andreas