0

我的 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;
    }
4

1 回答 1

2

既然您说“infile”是在代码的前面声明的,那么您是否可能已经在代码的前面迭代了该文件?如果是这种情况,因为如果指针已经在文件末尾,那么您为“file”分配与“infile”相同的引用file.hasNext()显然会评估为假。

于 2013-10-09T21:55:54.513 回答