gpt4 book ai didi

java - 从文件读入数组

转载 作者:行者123 更新时间:2023-11-29 05:15:49 25 4
gpt4 key购买 nike

我有一个包含数字的文件。它看起来如下:

1 2
3 4
5 6
7 8
9 10

将数字读入数组时出现问题。

这是一段代码:

Scanner file1 = new Scanner( new File("file1.txt") );

int lengt_h = 0;

// Here Eclipse crashes...
while( file1.hasNext() ) lengt_h++;

int[] numberArray = new int[lengt_h];

for(int i=0; i<numberArray.length; i++) {
numberArray[i] = file1.nextInt();
}

for(int n: numberArray) System.out.print(numberArray[n] + " ");

即使我将 hasNext() 函数更改为恒定长度(例如 10),numberArray 数组中的数字也如下所示:

1 1 1 2 1 1 5 5 1 3 

为什么代码不能正常运行?

最佳答案

  1. 你的代码的问题是你没有在 while 循环 中移动 Sacanner 指针,所以它是无限循环。
  2. 在上一个 for 循环中,您试图访问 numberArray[n] 中的元素,这是错误的,因为 n 本身是来自你的数组numberArray

你可以试试这个:

 public static void main(String args[]) throws FileNotFoundException {
Scanner file1 = new Scanner(new File("d:\\data.txt"));
int lengt_h = 0;
while (file1.hasNext()) {
lengt_h++;
file1.next();
}
file1 = new Scanner(new File("d:\\data.txt")); // again put file pointer at beginning
int[] numberArray = new int[lengt_h];
for (int i = 0; i < numberArray.length; i++) {
numberArray[i] = file1.nextInt(); // read integer from file
}
for (int n : numberArray)
System.out.print(n + " ");
}

关于java - 从文件读入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26593342/

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