防止在Java循环时永无止境

发布于 2025-01-21 07:22:32 字数 410 浏览 0 评论 0原文

我有以下代码检查正在导入的文件,我想计算其具有的数据行数,以便我可以将它们分配给数组。但是循环只是保持运行,并且不会停止在我拥有的8行数据上。

这是我对计数的代码一直在循环:

Scanner in = new Scanner (new FileInputStream("src/data/VinylRecords.txt"));
int lines = 0;
while (in.hasNextLine()) {
    lines += 1;
}
System.out.println("number of lines " + lines);

我对Java非常新颖,但是在确定之前循环时使用了循环,看不到这是什么问题?请任何人帮助我指向正确的方向?

I have the following code which checks a file being imported and I want to count the number of lines of data it has so I can assign them to an array. But the loop just keeps running and does not stop at the 8 lines of data I have.

This is the code I have for the count that keeps looping:

Scanner in = new Scanner (new FileInputStream("src/data/VinylRecords.txt"));
int lines = 0;
while (in.hasNextLine()) {
    lines += 1;
}
System.out.println("number of lines " + lines);

I am very new to Java but have used while loops before ok and cannot see what is wrong with this? Please can anyone help point me in the right direction?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

阿楠 2025-01-28 07:22:32

“ hasnextline()是Java扫描仪类的一种方法,用于检查该扫描仪的输入中是否有另一行。如果它找到另一行,它将返回true,否则返回false” https://www.javatpoint.com/post/java-scanner-hasnextline-method-mathod
但这不会改变扫描仪的价值。
您需要添加.nextline()

"The hasNextLine() is a method of Java Scanner class which is used to check if there is another line in the input of this scanner. It returns true if it finds another line, otherwise returns false" https://www.javatpoint.com/post/java-scanner-hasnextline-method
but it does not change the scanner value.
you need to add .nextLine()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文