3

したがって、この質問はちょっと単純ですが、次のコードが最初に完全に実行された後、2回目のループでタイトルを尋ねる代わりに、「ページ番号を入力してください:」に直接ジャンプするのはなぜだろうと思っていました。スキャナーの再利用を許可しない 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();ます。2 番目のループでkbReader.nextInt();は、ストリームの行末を読み取っているだけで、 によって除外されていkbReader.nextInt();ます。

于 2012-11-29T01:57:03.643 に答える