这个问题已经在这里有一个答案:
- 使用nextLine时,扫描仪发出后nextXXX [复制]
下面是一些基本的代码我写做一个简单的游戏骨架:
Scanner in = new Scanner(System.in);
String name;
String playing;
int age;
do {
System.out.println("Enter your name");
name = in.nextLine();
System.out.println("Enter your age");
age = in.nextInt();
System.out.println("Play again?");
playing = in.nextLine();
} while (true);
如预期的代码不能正常工作,例如,这里是代码的预期功能:
Enter your name
John
Enter your age
20
Play again?
Yes
Enter your name
Bill
...
然而,与再次读取播放线的问题,这是实际的输出:
Enter your name
John
Enter your age
20
Play again?
Enter your name
正如你所看到的“输入您的姓名”正在前再次显示“再次玩?” 能够接受输入。 当调试播放变量设置为“”,所以没有输入,我可以看到,我无法弄清楚被消耗什么。 任何帮助,将不胜感激,谢谢!