我正在用Java编写游戏,并且有一种方法要求用户从Console中输入值:
public String getUserInput() {
try (Scanner scan = new Scanner(System.in)) {
String s = scan.nextLine();
return s;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我想多次调用此方法,具体取决于外部参数,但我事先不知道,是否会再次调用。
但是当我在第二次调用中调用这样的方法时,我得到了
Exception in thread "main" java.util.NoSuchElementException: No line found
Run Code Online (Sandbox Code Playgroud)
问题:
不要重新打开或重新创建它。Scanner在您的程序期间使用一个。
关闭a Scanner(在这种情况下,使用您的try-with-resources块)将关闭其输入,在这种情况下System.in。您不想关闭它,因为您无法重新打开它。
| 归档时间: |
|
| 查看次数: |
39 次 |
| 最近记录: |