2

シンプルな学生管理システムであるプログラム(はい、宿題)を完成させようとしています。

学生の名前と成績(宿題と試験)は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!");

        }
    }   

ご覧のとおり、クエリされた生徒が成績に関連付けられてテキスト領域に返されるように、メソッドをコーディングする方法がわかりません。私はこれを正しく伝えているかどうかさえ本当にわかりません。

4

1 に答える 1

0

学生の名前、学年、およびおそらく識別コードを保持するStudentクラスがあり、JListのモデルがStudentオブジェクトを保持し、各学生を彼の名前で表示するカスタムセルレンダラーを持っていると想像します。おそらく、名前で検索する最良の方法は、この同じ学生のコレクションをMap<String, Student>などに入れHashMap<String, Student>て、名前をキーとして使用して学生を見つけることができるようにすることです。ただし、これには重複する名前がないことが必要です。

于 2012-12-13T00:31:24.627 に答える