我一直在使用java的Scanner類遇到問題。我可以讓它讀取我的輸入就好,但問題是當我想輸出的東西。在給定多行輸入的情況下,我想在完全讀取所有輸入時只打印一行。下面是我用讀輸入代碼:Java掃描器不會「讀完」輸入
public static void main(String[] args){
Scanner scanner = new Scanner(System.in); //scanner reads block of input
while(scanner.hasNextLine()){
//body of loop goes here
String s = scanner.nextLine();
Scanner ls = new Scanner(s); //scanner to parse a line of input
while(ls.hasNext()){
//body of nested loop goes here
ls.next();
}
}
System.out.println("Fin");
}
即使輸入的所有線路已經閱讀時,程序不會到達的System.out.println消息。 (請注意,該消息不能在其他地方運行,或者會在循環運行時輸出儘可能多的次數)。我該如何解決?任何幫助將不勝感激。
你可以在while循環中加入一些錯誤檢查打印並告訴我它卡在哪一個? – Lucas 2012-03-22 05:35:46
我試圖在每個循環中放置打印件,但它似乎無限循環,而不是它更像是外部while循環無限地等待更多輸入 – mPierce 2012-03-23 06:46:48
有人想出了下面。 – Lucas 2012-03-23 16:08:33