【发布时间】:2018-07-20 19:29:51
【问题描述】:
我在从 txt 文件中分离信息时遇到问题,将该信息添加到列表并使用该信息创建对象
此应用程序的数据文件将以逗号分隔(每条数据将由 逗号),纯文本文件。要标记成绩类型(实验室、项目和测试成绩)的差异,请使用一个 将包含空数据字段。文件的第一行将包含可能的点 练习。学生 ID 将是字符串。
示例 ID,名字,姓氏,10,10,10,,100,100,,100
三个实验室(每个实验室值 10 分)
两个项目(每个项目价值 100 分)
一个测试(价值 100 分)
txt文件设置如下
ID,名字,姓氏,10,10,10,,100,100,,100
1234,乔,学生,10,8,9,,100,90,,100
5678,Another,Student,7,7,7,,75,75,,75
9012,Yet,Another,10,10,10,,65,70,,50
对象类
public class Student {
private String identifcation;
private String firstName;
private String lastName;
private List labs;
private List project;
private List test;
public Student(String identifcation, String firstName, String lastName, List<Integer> labs, List<Integer> projects, List<Integer> test) {
this.identifcation = identifcation;
this.firstName = firstName;
this.lastName = lastName;
this.labs = labs;
this.project = projects;
this.test = test;
}
}
类中的readfile方法
public List<Student> decode() {
List<Student> students = new ArrayList<Student>();
while (this.scan.hasNext()) {
List<Integer> labs = new ArrayList<Integer>();
List<Integer> projects = new ArrayList<Integer>();
List<Integer> tests = new ArrayList<Integer>();
String identifcation = this.scan.next();
String firstName = this.scan.next();
String lastName = this.scan.next();
//help int lab = the labs
//help labs.add(lab); should add the 3 labs
//help int project =
//help projects.add(project); should add the 2 projects
//help int test =
//help tests.add(test); should add the 1 test
System.out.println(identifcation);
System.out.println(firstName);
System.out.println(lastName);
System.out.print(this.scan.nextLine());
Student real = new Student(identifcation, firstName, lastName, labs, projects, tests);
students.add(real);
}
return students;
}
打印语句给了我一个输出
身份证,第一
姓名,姓氏
名称,10,10,10,,100,100,,100
1234,乔,学生,7,8,9,,80,90,,100
5678,Another,Student,7,7,7,,75,75,,75
9012,Yet,Another,10,10,10,,65,70,,50
他们应该给予
身份证
名字
姓氏
等等。
【问题讨论】: