因此,这个问题有点简单,但是我想知道为什么下面的代码在第一次运行完美之后,直接跳转到“输入页码:”,而不是在第二个循环中询问标题。我在某处读到Java的某些功能不允许重复使用Scanner。这是我面临的问题吗?我试过使用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);
}
非常感谢帮助!
最佳答案
您应该在kbReader.nextLine();
之后添加kbReader.nextInt();
。在第二个循环中,kbReader.nextInt();
只是读取流中的行尾,kbReader.nextInt();
忽略了该行。