我的Java程序存在问题。我有一个程序完全跳过的while循环。我确信它会跳过while循环,因为我已经通过尝试在while循环中打印出一个句子来测试,这个句子没有执行(循环的其余部分也没有)。我编译或运行程序时没有出错,我真的看不出有什么问题。如果有人能帮助我,那就太好了。我有一个非常类似于它的while循环,它按预期运行,因此我觉得很奇怪,这个不起作用。
我只会编写while循环,因为我的程序很长。这个while循环在一个方法里面(只包含这个循环)。 (我使用类似于Scanner的easyIO,只是一个不那么复杂的版本)
int i = 0;
In file = (infile); //Infile is declared earlier in the program
int [][] array2D = new int [unique][unique];
String word1 = file.inWord();
while (file.hasNext()) {
String word2 = file.next();
word1 = word2;
}
答案 0 :(得分:2)
既然您在代码中声明了“infile”,那么您是否可能已经在代码中先前迭代了该文件?如果是这种情况,因为如果指针已经位于文件末尾file.hasNext()
,那么您将“file”指定为与“infile”相同的引用,显然会评估为false。