Java 如何检查扫描仪中是否按下了enter键?
首先,我尝试:Java 如何检查扫描仪中是否按下了enter键?,java,java.util.scanner,enter,Java,Java.util.scanner,Enter,首先,我尝试: while (!(in.nextLine().equals(""))) arrayList.add(in.nextInt()); while (in.hasNextint()) arrayList.add(in.nextInt()); while (in.nextLine() != null) arrayList.add(in.nextInt()); 这对我来说一点也不好。相反,我尝试: while (!(in.nextLine().equals(
while (!(in.nextLine().equals("")))
arrayList.add(in.nextInt());
while (in.hasNextint())
arrayList.add(in.nextInt());
while (in.nextLine() != null)
arrayList.add(in.nextInt());
这对我来说一点也不好。相反,我尝试:
while (!(in.nextLine().equals("")))
arrayList.add(in.nextInt());
while (in.hasNextint())
arrayList.add(in.nextInt());
while (in.nextLine() != null)
arrayList.add(in.nextInt());
基本上,我用空格分隔数字,然后输入一些字母,然后按enter键。这在IDE中非常有效。但是,如果我尝试使用命令提示符编译并运行它,它会在我面前抛出一个错误:InputMissatchException。最后,我尝试:
while (!(in.nextLine().equals("")))
arrayList.add(in.nextInt());
while (in.hasNextint())
arrayList.add(in.nextInt());
while (in.nextLine() != null)
arrayList.add(in.nextInt());
这不管用(!)有什么想法吗?对于键盘,您需要一个
keyListener
你可以在课堂上这样做
(我指的是与您的类同名的void)例如:
public Classname(){
//stuff
window.addKeyListener(new KeyAdapter(){
//For every time the specific key is being pressed
public void keyPressed(KeyEvent e){
KeyCode = e.getKeyCode();
switch (KeyCode) {
case KeyEvent.VK_SPACE:
//stuff
break;
case KeyEvent.VK_H:
//stuff
break;
}
}
}
//For every time the specific key is being released
public void keyReleased(KeyEvent e){
switch (e.getKeyCode()) {
case KeyEvent.VK_LEFT: //stuff
break;
case KeyEvent.VK_RIGHT: //stuff
break;
}
});
}
而且,我认为这是一个公众问题
keyTyped(KeyEvent e)
你可以使用的空白
如果不通过评论让我知道,希望这能解决你的问题。:) 你不需要检查这个。如果您从文件或终端读取数据,“回车键”将被按下(至少是隐喻性的),否则您的扫描仪将无法获得输入并等待输入。如果,OTOH,你在一个字符串或类似的东西上创建了扫描器,这个字符串就是输入,就这样。按下任何键都不会改变此处的任何内容。此异常发生在哪一行?我们可以看一个完整的(小)节目来展示这一点吗。你给这个程序的输入加上必须提到的