2014-06-28 26 views
-2

不是打印出每个语句并等待输入,而是打印出两个语句并等待一个输入。java在next循环中使用nextLine(),

for(int i=0; i < size; i++) 
{ 
    System.out.println("course: "); 
    courses[i] = sc.nextLine(); 

    System.out.println("teacher: "); 
    teachers[i] = sc.nextLine(); 
} 

输出:

输入班数:2道菜:

老师:

+0

可能重复http://stackoverflow.com/questions/7056749/scanner-issue-when -using-nextline-after-nextxxx) –

回答

1

new line已消耗BE courses[i] = sc.nextLine();所以这就是为什么它跳过

解决方案:

的for循环前添加nextLine

sc.nextLine(); //will consume the new line 
for(int i=0; i < size; i++){ 
[nextXXX后使用nextLine当扫描仪问题(指
+0

非常感谢你的工作,所以如果我正确理解了由println()引起的新行是什么被消耗。 – Th3OnlyOn3

+0

@ user3786610不,它是nextInt()。因为当你输入2时,它会消耗2而不是newLine。 –

+0

是的,这使得更多的TY, – Th3OnlyOn3

相关问题