当前位置: 主页 > JAVA语言

java读取键盘回车-键盘回车事件

发布时间:2023-02-09 16:28   浏览次数:次   作者:佚名

JAVA读取字符输入-'\r'; 从键盘输入循环

爪哇

JAVA读取字符输入-'\r'; input cycle from the keyboard,java,Java,如何读取键盘循环中的字符enter-"\r"? 我测试了两种方法。 第一种做法是:在第一轮znak = (char) System.In.read()这一行无法停止的循环; 我不知道为什么 public static void lista() { Ewidencja tmp = null; char znak = 0;for(Ewidencja el: Lista){if (znak == 'Q'){

如何从键盘循环读取字符enter-"\r"? 我测试了两种方法java读取键盘回车,第一种方法是:在第一轮znak = (char) System.In.read()这一行无法停止的循环; 我不知道为什么

public static void lista() {
    Ewidencja tmp = null;
    char znak = 0;
    for(Ewidencja el: Lista)
    {
        if (znak == 'Q')
        {
            el = tmp;
        }
        tmp = el;
        System.out.println("[Enter] - zapisz");
        System.out.println("[Q] - cofnij");
        try {
            znak = (char)System.in.read();
            System.out.println(znak);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(znak == '\r')
        {
            continue;
        }
        else if(znak != 'Q')
        {
            System.exit(-1);
        }
    }
}

第二种方式是使用class scannerjava读取键盘回车,但是这种方式不读取字符,输入'\r'

您也可以使用

BufferedInputReader

而不是直接访问系统。 存在:

BufferedReader BufferedReader = new BufferedReader(new InputStreamReader(System.in))

现在您可以决定是否要阅读

字符

或其他内容(

字符串,整数…

)

这样可以避免检测

'\n'

或者

'\r'

,更容易处理来自用户的“不清楚”输入('q' != 'q' 和字符,如果用户不小心输入了两个字母等)

使用问题中的一些代码,这里是如何让扫描仪检测按下的回车键

Scanner scan = new Scanner(System.in);
for(Ewidencja el: Lista) {
    znak = scan.nextLine();
    System.out.println(znak);
    if(znak.equals("")) {
        continue;
    }
}

感谢你的回复。 这段代码对我很有帮助,因为我不知道方法 equals

if(znak.equals("")) 
{ 
    continue; 
}

您可以检查空字符串

if(znak='')//这是一个新行

有时

\r

, 有时

\r\n

. . . 但实际上,你应该使用扫描仪。扫描仪不读取字符回车。 在调试中,当我按回车键时,调试器显示“\r”

if(znak.equals("")) 
{ 
    continue; 
}