【发布时间】:2017-09-17 04:10:55
【问题描述】:
下面是我的逆波兰计算器的一部分。
如果输入了一个整数,则将其压入堆栈,如果按下 =,则查看结果。但是,我想添加另一个条件:如果用户按下 CTRL + D,则程序退出。
我在网上查了一下,但似乎找不到任何解决方案。有任何想法吗?谢谢。
Scanner mySc = new Scanner(System.in);
//If input is an integer, push onto stack.
if (mySc.hasNextInt()) {
myStack.push(mySc.nextInt());
}
//Else if the input is an operator or an undefined input.
else if (mySc.hasNext()) {
//Convert input into a string.
String input = mySc.nextLine();
//Read in the char at the start of the string to operator.
char operator = input.charAt(0);
if (operator == '=') {
//Display result if the user has entered =.
}
**else if ("CTRL-D entered") {
System.exit(0);
}**
【问题讨论】:
-
使用键绑定。您将无法使用扫描仪进行操作。
-
等待:你想让用户写 CTRL-D 还是按下按钮?
-
@PhilippSander 按下按钮
-
在这种情况下,扫描仪将无济于事。使用键绑定
-
好的,我得查一下。使用缓冲阅读器怎么样?有没有办法使用它?
标签: java null java.util.scanner exit ctrl