我正在嘗試使用掃描儀在輸入中輸入字符串。 但它問我更多預期的字符串:不應該與此代碼問5個字符串?掃描儀詢問預期的更多字符串
public void go()
{
Scanner sc=new Scanner(System.in);
ArrayList<String> list=new ArrayList<String>();
String temp=new String();
Integer i=new Integer(0);
while(sc.hasNextLine() && i<5)
{
temp=sc.nextLine();
list.add(list.size(),temp);
i++;
}
}
如果我嘗試運行它,它會在控制檯停止輸入前問我6個字符串。 但是我在開始的時候是零,在變成5之前它會增加5次。 那麼當我5歲的時候,爲什麼它還會留在原地呢?
解決:兩種方法都解決了這個問題。
這是怎麼修復的? – 2012-02-18 22:08:11
@HovercraftFullOfEels如果我達到5,我會<5將是假的,並在調用sc.hasNextLine()之前結束while循環。已經有sc.hasNextLine在讀取時進行讀取。 – 2012-02-18 22:35:08
這解決了這個問題。 – 2012-02-19 19:26:51