无法使用扫描仪输入
Cannot take input with Scanner
我只是不能用扫描仪阅读。我读了很多其他帖子,但我就是不明白这到底是怎么回事。我试过 Buffer read 但它也给出了错误。
我只是想不通。我该怎么办?
This is the error:
Start : 1
Exit : 2
=> 1
Enter your name
=>
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.base/java.util.Scanner.nextLine(Scanner.java:1651)
at pcGame/pkg.GameLogic.characterCreation(GameLogic.java:28)
at pcGame/pkg.GameLogic.main(GameLogic.java:41)
这是代码:
package pkg;
import java.util.Scanner;
public final class GameLogic {
public void gameMenu() {
System.out.print("Start : 1\nExit : 2\n=> ");
int opt = 1;
Scanner input = new Scanner(System.in);
opt = input.nextInt();
switch(opt) {
case 1:
input.close();
return;
case 2:
System.exit(0);
}
input.close();
}
public void characterCreation() {
Scanner input = new Scanner(System.in);
System.out.println("Enter your name\n=> ");
String name = input.nextLine();
System.out.println("Enter your \n=> ");
String story = input.nextLine();
//Player.initialize("name", "story"); //Initializes Player
input.close();
}
public static void main(String[] args) {
GameLogic game = new GameLogic();
game.gameMenu();
game.characterCreation();
while(true) {
//Game Happens
break;
}
}
}
只需尝试删除 input.close();
个语句
我只是不能用扫描仪阅读。我读了很多其他帖子,但我就是不明白这到底是怎么回事。我试过 Buffer read 但它也给出了错误。 我只是想不通。我该怎么办?
This is the error:
Start : 1
Exit : 2
=> 1
Enter your name
=>
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.base/java.util.Scanner.nextLine(Scanner.java:1651)
at pcGame/pkg.GameLogic.characterCreation(GameLogic.java:28)
at pcGame/pkg.GameLogic.main(GameLogic.java:41)
这是代码:
package pkg;
import java.util.Scanner;
public final class GameLogic {
public void gameMenu() {
System.out.print("Start : 1\nExit : 2\n=> ");
int opt = 1;
Scanner input = new Scanner(System.in);
opt = input.nextInt();
switch(opt) {
case 1:
input.close();
return;
case 2:
System.exit(0);
}
input.close();
}
public void characterCreation() {
Scanner input = new Scanner(System.in);
System.out.println("Enter your name\n=> ");
String name = input.nextLine();
System.out.println("Enter your \n=> ");
String story = input.nextLine();
//Player.initialize("name", "story"); //Initializes Player
input.close();
}
public static void main(String[] args) {
GameLogic game = new GameLogic();
game.gameMenu();
game.characterCreation();
while(true) {
//Game Happens
break;
}
}
}
只需尝试删除 input.close();
个语句