gpt4 book ai didi

java - 从java中的文本文件输入创建ArrayList中的对象

转载 作者:行者123 更新时间:2023-11-30 02:57:03 25 4
gpt4 key购买 nike

我有一个学生列表的文本文件,其中列出了姓氏、名字、实验室成绩、项目成绩和考试成绩,例如:

Owens Will 46 54 56  
Smith John 44 77 99

我正在尝试编写一个方法来读取文本文件,使用每一行创建一个 Student 对象,然后将其添加到学生的 ArrayList 中。学生对象由名字、姓氏、实验室、项目和考试成绩组成。

这是我到目前为止所拥有的:

private ArrayList<Student> arraylist = new ArrayList<Student>();

public void ReadFile(String inputfile) throws FileNotFoundException {
File myFile = new File(inputfile);
Scanner sc = new Scanner(myFile);

while (sc.hasNextLine()) {
arraylist.add(sc.nextLine());
}
}

我不确定如何从文本文件创建 Student 对象,然后不确定如何将对象放入 ArrayList?

编辑:

这是我的学生类(class):

public class Student {
// fields
private String firstname;
private String lastname;
private int labgrade;
private int projectgrade;
private int examgrade;
private int totalgrade;

// constructor
public Student(String firstname, String lastname, int labgrade,
int projectgrade, int examgrade) {
this.firstname = firstname;
this.lastname = lastname;
this.labgrade = labgrade;
this.examgrade = examgrade;
this.totalgrade = labgrade + projectgrade + examgrade;
}

// method
public String toString() {
String s = firstname + " " + lastname + " has a total grade of " + totalgrade;
return s;
}
}

最佳答案

使用分割函数

String line = sc.nextLine();
String[] student = line.split(" ");
String lastName = student[0];
String firstName = student[1];
String labGrade = student[2];
String projectGrade = student[3];
String examGrade = student[4];

新学生(学生[0],学生[1],学生[2],学生[3],学生[4])String 对象中的 split 函数将分割任何包含空格的子字符串,如上例所示。您可以选择使用 String[] Student = line.split(","); 在 CSV 文件中分割逗号“,”,但在本例中它是空白空间。 split 将返回一个字符串数组

关于java - 从java中的文本文件输入创建ArrayList中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36973345/

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