[英]Nextline and scanner ignoring lines in Java?
Scanner s = new Scanner (System.in);
while(!s.nextLine().isEmpty()){
a.add(i, s.nextLine());
i++;
}
System.out.println(a.size());
我創建了一個Arraylist,因為我正在將未知數量的字符串復制並粘貼到要掃描的ide中,這可能是行尾的問題。
我通過粘貼將三行測試出來。例如,請看以下示例:
Hello
World
Again
我將其復制並粘貼到其中,Arraylist的大小將為2,並且將是World,它將占據位置0。
我自己的理論是,他的while循環使用第一行來檢查它是否為空,然后將第二行放入Arraylist中,並檢查第三行,並在第二行中放置一個空白。
然后以三行格式粘貼字符串,然后按一次Enter鍵,這可能會影響行尾。 有誰對正在發生的事情有任何見識? 謝謝,
您需要“捕獲”要測試的行,而不是將其丟棄。 每次調用s.nextLine()
讀取一行。
Scanner s = new Scanner (System.in);
String line;
while(!(line = s.nextLine()).isEmpty()){
a.add(i, line);
i++;
}
System.out.println(a.size());
或者像其他人提到的那樣,您可以使用s.hasNext()
作為循環條件,如下所示:
Scanner s = new Scanner (System.in);
while(s.hasNext()) {
a.add(i, s.nextLine());
i++;
}
System.out.println(a.size());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.