循环不会像代码中的某些问题一样终止。 任何人都可以解释一下这段代码应该如何运作吗?
for(int i=1;;i++){
String s1 = joker.nextLine();
if(s1.compareTo("end")==0)
break;
String n1 = joker.next();
s=s+s1+",";
n=n+n1+",";
}
答案 0 :(得分:3)
代码非常糟糕。如果正在读取的文件不包含“结束”的行,则循环不会终止。
应该使用while循环,它应该检查EOF字符。类似的东西:
String s1 = joker.nextLine();
while(s1 != null) {
if(s1.equals("end")) break;
//Do stuff
s1 = joker.nextLine();
}