java读取键盘回车-键盘回车事件
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;
}