我正在尝试完成一个程序(是的,家庭作业),它是一个简单的学生管理系统。
学生的姓名和成绩(作业和考试)从 XML 文档中解析出来,然后姓名存储在 JList
中,成绩存储在 ArrayList
中。
我正在尝试弄清楚如何实现一个查询按钮,以便用户可以输入学生的姓名并在 GUI 的文本区域中列出学生的姓名和成绩。到目前为止,这是我为查询编写的方法:
void queryStudent(){
if (!students.isEmpty()) {
queryResultTextArea.setText("Student's Name: " + students.get(0).getName() + newline);
for(int i=0; i<6; i++){
queryResultTextArea.append("Homework " + (i + 1) + ": " + String.valueOf(students.get(0).getRecordList().get(i).getResult()) + newline);
}
for(int j=0; j<3; j++){
queryResultTextArea.append("Exam " + (j + 1) + ": " + String.valueOf(students.get(0).getRecordList().get(j+6).getResult()) + newline);
}
queryResultTextArea.append("Final Grade: " + String.valueOf(students.get(1).getFinalGrade()));
}else {
queryResultTextArea.setText("Please load data first!");
}
}
如您所见,我不确定如何对方法进行编码,以便查询的学生与成绩相关联并在文本区域中返回。我什至不确定我是否正确传达了这一点。
最佳答案
我假设您有一个 Student 类,其中包含学生的姓名、年级和可能的身份代码,并且您的 JList 模型包含 Student 对象,并有一个自定义单元格渲染器以按姓名显示每个 Student。也许按姓名搜索的最佳方式是将同一个 Students 集合放入 Map<String, Student>
中。例如 HashMap<String, Student>
这样您就可以使用他/她的名字作为关键字找到学生。不过,这需要没有重复的名称。
关于java - 从 ArrayList 查询学生姓名并在文本区域中返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13851083/