gpt4 book ai didi

java - 为什么当我在java中的文件io中使用.hasNext时,计数器一直在计数

转载 作者:行者123 更新时间:2023-12-01 17:58:08 25 4
gpt4 key购买 nike

基本上,我试图计算 txt 文件中有多少行,然后将其作为索引存储到数组中。

File file = new java.io.File("number.txt");
Scanner s = new Scanner(file);
int count = 0;
while(s.hasNextLine())
{
count++;
System.out.println(count);
}
System.out.println("There is: " + count + " line );
int[] array = new int[count];

但是,我意识到“计数”无穷大,并且永远不会停止计数,但我的 txt 文件中只有 20 行。为什么会出现这种情况?

注意:我知道如何修复,但我只是好奇为什么它一直在计数

最佳答案

你应该使用

scanner.nextLine()

结合

scanner.hasNextLine()

hasNextLine 将检查是否有下一行可用,但它不会转到下一行,因为您需要使用 nextLine。当两者都使用时,您将看到计数器在解析完最后一行后停止。所以你的代码应该是这样的

File file = new java.io.File("number.txt");
Scanner s = new Scanner(file);
int count = 0;
while(s.hasNextLine())
{
s.nextLine();
count++;
System.out.println(count);
}
System.out.println("There is: " + count + " line );
int[] array = new int[count];

关于java - 为什么当我在java中的文件io中使用.hasNext时,计数器一直在计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43079369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com