gpt4 book ai didi

java - Java中如何从文本文件中读取整数

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

我正在尝试读取一个包含 java 中整数值的文件,并且我找到了以下答案:

Java: Reading integers from a file into an array

但是我的代码陷入了无限循环。

我的代码是:

Scanner scanner = new Scanner(new File("/home/lalit/Desktop/Project/key_x.txt"));
//Scanner scanner1 = new Scanner(new File("/home/lalit/Desktop/Project/key_y.txt"));

int i = 0,count=0;
while(scanner.hasNextInt())
{
System.out.println("This is count "+count);
count++;
}

上面的代码进入无限循环。

我的文本文件包含:

317

40

280

10

318

24

456

126

4

129

404

468

287

275

165

我在这方面又遇到了一个问题,当我尝试将元素存储在 int 数组中时,它会抛出异常;

Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Hybrid.Image.main(Image.java:503)

我存储数组元素的代码是:

  int tall[] =new int[count];
int tall1[] =new int[count];
while(scanner.hasNextInt())
{
int k=scanner.nextInt();
tall[i] =k;
System.out.println(tall[i]);
i++;
}

最佳答案

循环永远不会结束,因为条件永远不会改变。您只是检查扫描仪是否“下一个int”,您从未真正读过int 。所以它总是准备好阅读第一个int在文件中。

如果你不在乎那是什么 int是并且只想从扫描仪读取它,您可以这样做并忽略该值:

while(scanner.hasNextInt())
{
scanner.nextInt();
System.out.println("This is count "+count);
count++;
}

或者,如果您确实想用它做点什么 int ,它将位于 scanner.nextInt() 的返回值中.

关于java - Java中如何从文本文件中读取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44506455/

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