【发布时间】:2021-04-01 13:50:34
【问题描述】:
任务是读取给定文件并返回全名列表。我已经成功地分开了这些行,应该能够同时获得名字和姓氏,但我对如何做到这一点有点困惑。
我如何从readData() 获得全名?
我正在寻找的是这个输出 ["Alice Smith", "Bob Brown", "Carol White", "David Doe"] 而不是重复的名称。
到目前为止,我的代码如下所示:
public class GradeRepository {
public GradeRepository(){
readData();
}
public void readData() {
for (String line : readLines()) {
String[] parts = line.split("\\|");
String firstName = parts[0];
String lastName = parts[1];
String subject = parts[2];
String grade = parts[3];
System.out.println(firstName);
System.out.println(lastName);
System.out.println(subject);
System.out.println(grade);
System.out.println(Arrays.toString(parts));
}
}
public List<String> getFullNames() {
List<String> fullNames = new ArrayList<>();
return fullNames;
}
private List<String> readLines() {
try {
return Files.readAllLines(Paths.get("src/ex1/grades.txt"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
给定文本文件: 成绩.txt
Alice|Smith|math|5
Bob|Brown|english|4
David|Doe|math|3
Bob|Brown|math|4
Bob|Brown|chemistry|5
Alice|Smith|english|4
Carol|White|chemistry|3
David|Doe|chemistry|4
【问题讨论】:
-
最好的办法是创建一个对象,可能是 Person,其字段包括 firstName、lastName 等。无论如何,如果您的目标是返回 firstName + lastName,您可以返回一个包含此信息的 Set
-
创建一个集合
。将每个名称放入集合中。
标签: java arraylist file.readalllines