2

我正在尝试完成一个简单的学生管理系统的程序(是的,家庭作业)。

学生的姓名和成绩(作业和考试)从 XML 文档中解析出来,然后将姓名存储在 a 中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!");

        }
    }   

如您所见,我不确定如何对方法进行编码,以便查询的学生与成绩相关联并在文本区域中返回。我什至不确定我是否正确地传达了这一点。

4

1 回答 1

0

我会想象你有一个 Student 类,它包含一个学生的姓名、等级和可能的识别码,并且你的 JList 的模型包含 Student 对象,并有一个自定义单元格渲染器来按每个学生的名字显示每个学生。也许按姓名搜索的最佳方法是将相同的学生集合放入一个Map<String, Student>诸如 aHashMap<String, Student>中,以便您可以使用他/她的名字作为关键字找到学生。这将要求没有重复的名称。

于 2012-12-13T00:31:24.627 回答