所以这个问题有点简单,但我想知道为什么以下代码在第一次运行完美后,直接跳到“输入页码:”,而不是要求标题第二个循环。我已经读过某些地方,Java有些东西不允许重复使用扫描仪。这是我面临的问题吗?我尝试使用kbReader.next()并且可以使用,但代码仅适用于没有空格的字符串。
String title = "";
int page = 0;
int i = 0;
Scanner kbReader = new Scanner(System.in);
for (i=1;i<=3;i++){
System.out.print("Enter the title: ");
title = kbReader.nextLine();
System.out.print("Enter the page number: ");
page = kbReader.nextInt();
System.out.print(title);
System.out.println(page);
}
非常感谢!
答案 0 :(得分:3)
您应该在kbReader.nextLine();
之后添加kbReader.nextInt();
。在第二个循环中,kbReader.nextInt();
只是读取流中的行尾,由kbReader.nextInt();
遗漏。