InputMismatchException是由对的调用引起的
nextInt(),因为下一个令牌是
4+5。
失败的调用 不会使用 令牌。
这意味着
OP = input.next().charAt(0)set
OP = '4',如果您 调试
代码,这应该非常明显。请参阅什么是调试器,它如何帮助我诊断问题?以及如何调试小程序。
您需要丢弃失败的令牌,例如通过调用
nextLine()以下
catch子句:
} catch (InputMismatchException e) { System.err.println("Please space out the expression"); input.nextLine(); // Discard input(s)} ...


