gpt4 book ai didi

java - 从文本文件中读取数据并将其存储在对象中

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

我有一个文本文件,每行都有一个数字。

0 
55
3
15
63
8
0
-8
9
89
504
32

我有一个接受三个参数的 Car:

  • 起始里程表读数
  • 最终里程表读数
  • 公升

文本文件中的第一行对应于起始里程表读数。
二是终读。
第三个是升。
第四个是第二个 Car 等的起始里程表读数。

我需要读取文本文件,创建一个对象,并将其作为汽车的参数。

对于 car3 (0, -8, 9) 有一个负数,所以整个集合被忽略并且 (89, 504, 32) 变成 car3.

我已经提到了 Anubian Noob's answer ;到目前为止,这是我的代码:

final String INPUT_FILE = "data.txt";
final String OUTPUT_FILE = "report.txt";

BufferedReader inputFile = new BufferedReader (new FileReader (INPUT_FILE));
BufferedWriter outputFile = new BufferedWriter (new FileWriter (OUTPUT_FILE));
LineNumberReader lineNumber = new LineNumberReader (new FileReader (INPUT_FILE));
lineNumber.skip(Long.MAX_VALUE);
int length = lineNumber.getLineNumber();
lineNumber.close();


String line = inputFile.readLine();

Car[] car = new Car[length/3];

while (line != null)
{
for (int i = 0; i < length/3; i += 3)
{
int startReading = Integer.parseInt(inputFile.readLine());
int endReading = Integer.parseInt(inputFile.readLine());
int liter = Integer.parseInt(inputFile.readLine());
car[i] = new Car (startKm, endKm, litre);
}
}
inputFile.close();
outputFile.close();

在线 int liter = Integer.parseInt(inputFile.readLine()); 我收到以下错误:

java.lang.NumberFormatException: null 
null (in java.lang.Integer)

如何将这三个信息存储到各自的对象中?

*注意:文本文件的行数没有规定,必须使用数组。

最佳答案

这是因为你正在读取文件的第一行,而不是使用它;您从文件的第二行开始并将其分配给第一辆车的 startReading。因此,文件中的行数不够(您首先计算了文件中的行数,因此计算了汽车的数量,但是您读取的一行太多了)

此外,您的循环不应将 i 增加 3,因为您已经将行数除以 3。并且您正在使用 i 作为car 数组的索引。

将代码更改为:

lineNumber.close();

// REMOVE String line = inputFile.readLine();

Car[] car = new Car[length/3];

// REMOVE while (line != null)
// REMOVE {
for (int i = 0; i < length/3; i ++) // DON'T DO i += 3 because that will make you go beyond the bounds of the car array
{
int startReading = Integer.parseInt(inputFile.readLine());
int endReading = Integer.parseInt(inputFile.readLine());
int liter = Integer.parseInt(inputFile.readLine());
car[i] = new Car (startKm, endKm, litre);
}
// REMOVE }

关于java - 从文本文件中读取数据并将其存储在对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26670136/

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