3

所以这个问题有点简单,但我想知道为什么下面的代码在第一次完美运行后直接跳转到“输入页码:”,而不是在第二次循环中询问标题。我在某处读到 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);
    }

非常感谢您的帮助!

4

1 回答 1

3

您应该添加一个kbReader.nextLine();after kbReader.nextInt();。在第二个循环中,您kbReader.nextInt();只是读取流中的行尾,被kbReader.nextInt();.

于 2012-11-29T01:57:03.643 回答