2012-11-29 107 views
3

所以这个问题有点简单,但我想知道为什么下面的代码在第一次完美运行后直接跳到“输入页码:”,而不是要求第二个循环的标题周围。我读过的地方有一些Java的东西,不允许重复使用扫描器。这是我面临的问题吗?我试图使用kbReader.next(),并且工作,但代码只适用于没有空格的字符串。Java字符串输入错误

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); 
    } 

很多帮助赞赏!

回答

3

您应该在kbReader.nextInt();之后添加kbReader.nextLine();。在第二个循环中,您的kbReader.nextInt();正在读取流中的行末,忽略了kbReader.nextInt();

+0

不客气。 –