gpt4 book ai didi

Java,从文件创建 double 字符串数组时遇到问题

转载 作者:行者123 更新时间:2023-12-01 11:07:40 24 4
gpt4 key购买 nike

我有一个“汽车”类,有五个汽车参数(str 品牌、str 型号、str 颜色、int 功率、int 油箱),并且我有一个包含五辆车的 .txt,写法如下:

Toyota Supra Black 280 80
Ferrari F430 Red 510 95
Nissan GT-R White 600 71
Koenigsegg Agera White 940 80
Mazda RX-8 Red 231 62

我必须从文件中读取此列表并创建一个行数组(汽车)数组,而每个汽车数组都是一个包含 5 个参数的数组,例如:Cars[car][parameters],并将其插入类的对象中(应该是小菜一碟,我想我可以处理这个)

但我不知道如何处理数组。我现在唯一拥有的就是从文件中读取:

void 123() {
String[] ImpData = null;
try {
String str;
BufferedReader br = new BufferedReader(new FileReader("imp.txt"));
while ((str = br.readLine()) != null) {
System.out.println(str);
}
br.close();
} catch (IOException exc) {
System.out.println("IO error!" + exc);
}
}

有什么建议吗?

最佳答案

创建 Car 对象列表,并将每一行作为 1 个 Car 对象添加到列表中。

ArrayList<Car> list = new ArrayList<Car>();

while ((str = br.readLine()) != null) { //Not checking your loop

String[] tok = str.split(" "); //str holds all car information
list.add(new Car(tok[0], tok[1], tok[2], tok[3], tok[4]));
}

假设您的 Car 类有一个接受 5 个参数的构造函数。

<小时/>

编辑:(为了满足使用数组的要求)

当你使用数组时,你必须先预先分配一个固定的数组长度。使用数组不适合存储文件中的数据,因为可以存在任意数量的数据行。不管怎样,回答你关于使用数组的问题:

String[][] data = new String[numRecords][5];  //numRecords equals total car objects
int x=0;

while ((str = br.readLine()) != null) { //Not checking your loop

String[] tok = str.split(" "); //str holds all car information
data[x] = tok; //Assign entire row of tok into data
x++;
}

我再次郑重地不建议将数据文件读取到数组中。如果确实需要这样做,可以先预先确定文本文件中的记录数,然后相应地设置数组大小。

旁注:二维数组也不是适合存储数据的数据结构,例如具有自己属性的汽车对象。

关于Java,从文件创建 double 字符串数组时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32770469/

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