gpt4 book ai didi

java - 我想将文件的内容按行分割成数组列表,并在正确的标识符下重建它们

转载 作者:行者123 更新时间:2023-12-01 19:22:01 26 4
gpt4 key购买 nike

下面是我正在读取内容以尝试完成任务的文件:

1A STD true false false 23.50 free
1B STD false true false 23.50 free
1D STD true true false 27.50 free
2A STD true false true 24.50 free
2B STD false true true 24.50 free
2D STD true true true 28.50 free
3A STD true false true 24.50 free
3B STD false true true 24.50 free
3D STD true true true 28.50 free
4A STD true false false 23.50 free
4B STD false true false 23.50 free
4D STD true true false 27.50 free
5A 1ST true true true 48.50 free
5C 1ST false true true 44.50 free
5D 1ST true false true 44.50 free
6A 1ST true true true 48.50 free
6C 1ST false true true 44.50 free
6D 1ST true false true 44.50 free

现在我的目标是将所有这些行存储到单独的数组列表中,例如将 arrayList1 分配给一个包含文本文件第一行内容的值,然后将这些值分开并被赋予正确的数据类型,例如:

  • 1A是一个字符串
  • 真/假语句被分配给 boolean 值

然后重建文件,但内容并不全部分配在一种数据类型(例如字符串)下,而是分配给它们自己的唯一类型。

int option;
File Seats = new File("seats.txt");

Scanner in = new Scanner(new FileReader(Seats));
String str;
ArrayList<String> list = new ArrayList<String>();
while(in.hasNextLine) {

}

到目前为止我已经尝试过,但每当我将任何内容放入 while 循环中时都会收到错误

最佳答案

我想你需要的是 Seat代表座位的类:

private static class Seat {
private String seatNumber, seatClass;
private boolean nearWindow, nearAisle, hasTable;
private double seatPrice;
private String email;

private Seat(String seatNumber, String seatClass, boolean nearWindow, boolean nearAisle, boolean hasTable, double seatPrice, String email) {
this.seatNumber = seatNumber;
this.seatClass = seatClass;
this.nearWindow = nearWindow;
this.nearAisle = nearAisle;
this.hasTable = hasTable;
this.seatPrice = seatPrice;
this.email = email;
}
}

然后您可以将文件中的每一行映射到 Seat对象,例如:

List<Seat> list = new ArrayList<>();
String[] strSplit;
Seat seat;
while(in.hasNextLine()) {
strSplit = in.nextLine().split(" ");
seat = new Seat(strSplit[0],
strSplit[1],
Boolean.parseBoolean(strSplit[2]),
Boolean.parseBoolean(strSplit[3]),
Boolean.parseBoolean(strSplit[4]),
Double.parseDouble(strSplit[5]),
strSplit[6]
);
list.add(seat);
}
<小时/>

顺便说一句,通过接口(interface)引用对象被认为是最佳实践,例如:List<String> list = new ArrayList<>();而不是ArrayList<String> list = new ArrayList<String>(); .

关于java - 我想将文件的内容按行分割成数组列表,并在正确的标识符下重建它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59348139/

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