首先,我试过了:
while (!(in.nextLine().equals("")))
arrayList.add(in.nextInt());
这对我来说根本不算好。相反,我试过了:
while (in.hasNextint())
arrayList.add(in.nextInt());
基本上我输入用空格分隔的数字,然后输入一些字母并按回车键。这在IDE中完美运行。但是,如果我尝试使用命令提示符编译并运行它,它会在我的面部抛出一个错误:InputMismatchException。最后,我试过了:
while (in.nextLine() != null)
arrayList.add(in.nextInt());
这不起作用(!)任何想法?
答案 0 :(得分:1)
对于键盘,你需要一个
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)
无法使用。
希望这可以解决你的问题,如果它不通过评论让我知道。 :)
答案 1 :(得分:0)
您无需检查此内容。如果您从文件或终端读取,则“按下回车键”(至少是隐喻),否则您的扫描仪无法输入并等待它。如果,OTOH,你在字符串或类似的东西上创建扫描器,那个字符串就是输入,那就是它。没有按键会改变任何方式。