Java Scanner doesn't wait for user input
This question already has an answer here:
It's possible that you are calling a method like nextInt() before. Thus a program like this:
Scanner scanner = new Scanner(System.in);
int pos = scanner.nextInt();
System.out.print("X: ");
String x = scanner.nextLine();
System.out.print("Y: ");
String y = scanner.nextLine();
demonstatres the behavior you're seeing.
The problem is that nextInt() does not consume the 'n' , so the next call to nextLine() consumes it and then it's waiting to read the input for y .
You need to consume the 'n' before calling nextLine() .
System.out.print("X: ");
scanner.nextLine(); //throw away the n not consumed by nextInt()
x = scanner.nextLine();
System.out.print("Y: ");
y = scanner.nextLine();
(actually a better way would be to call directly nextLine() after nextInt() ).
只要为你的代码尝试这个构造构造:
System.out.print("X: ");
scanner.nextLine();
x = scanner.nextLine();
System.out.print("Y: ");
scanner.nextLine();
y = scanner.nextLine();
链接地址: http://www.djcxy.com/p/96070.html
上一篇: 扫描仪nextLine Java错误
下一篇: Java扫描器不会等待用户输入
