Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 程序跳过System.in_Java_While Loop_Java.util.scanner - Fatal编程技术网

Java 程序跳过System.in

Java 程序跳过System.in,java,while-loop,java.util.scanner,Java,While Loop,Java.util.scanner,我正在创建一个程序来调用另一个创建RPN计算器的代码 RPNCalculator Calculator = new RPNCalculator(); System.out.println("Please enter a valid post-fix expression one token " + "at a time with a space between each token (e.g. 5 4 + 3 2 1 - +

我正在创建一个程序来调用另一个创建RPN计算器的代码

        RPNCalculator Calculator = new RPNCalculator();
        System.out.println("Please enter a valid post-fix expression one token " +
                    "at a time with a space between each token (e.g. 5 4 + 3 2 1 - + *)");
        System.out.println("Each token must be an integer or an operator (+,-,*,/)");
        Scanner reader= new Scanner(System.in);


        System.out.println();
        System.out.println("That expression equals " + result);
        System.out.println();

    while (true)
    {    
         equation = reader.nextLine();
         result=Calculator.evaluateEquation(equation);
    }

但是,当程序运行时,它甚至没有机会输入任何内容,并将返回“该表达式等于0”

如果您的while循环位于System.out.println()的错误一侧


你的指纹在你的阅读循环之前。您意识到,
新扫描仪(System.in)
只是说“创建一个扫描仪,当您调用它的
下一步…
方法时,它将从
系统中读取。在
中编译错误:
结果无法解析为变量
编译错误:
方程无法解析为变量
非常感谢。现在我有一个问题,在第一次运行之后堆栈是空的,但是我可能应该把这个问题留给另一个问题。@jake94b您应该将这个答案标记为正确。这样其他人将来也能找到。
Scanner reader= new Scanner(System.in);
while (true)
{    
     equation = reader.nextLine();  
     //YOU ALSO need a reason to break out of this loop.
     //LIKE IF equation == "EXIT" or "0"
         //BREAK
     result=Calculator.evaluateEquation(equation);
}   
System.out.println();
System.out.println("That expression equals " + result);
System.out.println();