Java 如何通过扫描仪读取和获取回车键

Java 如何通过扫描仪读取和获取回车键,java,Java,我正在学习Java,现在我尝试一些简单的任务来适应JavaSynthax 今天我写了一个简单的计算器,其中一个任务目标是在用户按enter键时完成程序。这就是我的问题,我的代码解决方案与其他键一起工作,例如“y” 带有“y”键的代码(工作正常): } 当按下Enter键时,我尝试了last if的两种变体来结束工作 temp = in.next(); if (temp.equals("")) { System.out.println("Enter Key pressed."); log = fa

我正在学习Java,现在我尝试一些简单的任务来适应JavaSynthax

今天我写了一个简单的计算器,其中一个任务目标是在用户按enter键时完成程序。这就是我的问题,我的代码解决方案与其他键一起工作,例如“y”

带有“y”键的代码(工作正常):

}

当按下Enter键时,我尝试了last if的两种变体来结束工作

temp = in.next();
if (temp.equals("")) {
System.out.println("Enter Key pressed.");
log = false;}
第二个呢

temp =in.next();
        sign = temp.charAt(0);
        if (sign == 13 )    //carriage return character code
            log = false; 
但在使用回车键的情况下,两者都不好。如果有人告诉我为什么if的这两个变体不能用enter键正常工作,以及用end键结束程序的最佳方式是什么,那就太好了


谢谢:)

您应该重新检查
next()
真正做了什么以及什么时候做。然后使用
nextLine()。如果您正在执行
事件处理
,那么您可能可以将enter键的
键代码
作为
13
@Tom谢谢,在.nextLine()中输入空格,然后在.nextLine()中输入temp=in来解决我的问题。您应该重新检查
下一步()
真正做了什么以及什么时候做。然后使用
nextLine()。如果您正在执行
事件处理
,那么您可能可以将enter键的
键代码作为
13
@Tom谢谢,在.nextLine()中为空,然后在.nextLine()中为temp=in解决我的问题。
temp =in.next();
        sign = temp.charAt(0);
        if (sign == 13 )    //carriage return character code
            log = false;