while循环被破坏,即使参数是正确的

u2nhd7ah  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(318)

**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

10天前关门了。
改进这个问题
我非常困惑为什么我的代码没有运行。我最终陷入了一个永远持续的循环中,我假设这个循环是在print语句之后发生的while循环。列出的print语句打印true,因此while循环应该至少经过一次迭代。。。正确的?
这种情况不会发生,我的代码将永远运行,并且不会打印任何其他内容。
(也可以忽略带有 % ,在做大之前,我正在进行小规模的测试。)

Scanner scan = new Scanner(file);
FileWriter fw = new FileWriter(modifiedCSV);
int counter = 0;

System.out.println(scan.hasNextLine() && counter < 10);
while(scan.hasNextLine() && counter < 10);
{
    System.out.println("test");
    if(counter%1000000==0)
    {
        System.out.println("Normalizing Line: " + counter);
    }
    String line = scan.nextLine();
    String[] lineData = line.split(",");
    System.out.println("!!!!!!");
    double normalizedDistance = (Double.parseDouble(lineData[3])-minDistance)/(maxDistance-minDistance);
    double normalizedAngle = (Double.parseDouble(lineData[7])-minAngle)/(maxAngle-minAngle);
    double normalizedFlux = (Double.parseDouble(lineData[8])-minFlux)/(maxFlux-minFlux);

    fw.write(line + "," + normalizedDistance + "," + normalizedAngle + "," + normalizedFlux + "\n");
    counter++;
}
m0rkklqb

m0rkklqb1#

while循环是空的,因为while语句行的末尾有一个分号。

while(scan.hasNextLine() && counter < 10);

相关问题