我一直在使用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