-1

このコードを、乱数を生成して配列に学生 ID とクイズのスコアを格納するメソッドと共に使用しています。次に、すべてのクイズのスコアの平均/最小/最大を見つけたいと思います。私は本当に立ち往生しています。どんな助けでも大歓迎です。

private class FillButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        int quizScore, firstIDin = firstID, row, column;
        int[] studentIDsin = new int[numberStudents];
        int[][] quizin = new int[numberStudents][numberQuizes];

        for(row=0; row<numberStudents; row++) {
            studentIDsin[row] = firstIDin;
            firstIDin+=1;
        }
        for(row=0; row<numberStudents; row++) {
            studentIDs[row] = studentIDsin[row];
        }
        for(row=0; row<numberStudents; row++) {
            for(column=0; column<numberQuizes;column++) {
                quizScore = (int) rand();
                quizin[row][column]= quizScore;
            }
        }
        for(row=0; row<numberStudents; row++) {
            for(column=0; column<numberQuizes;column++)
                quiz[row][column]= quizin[row][column];
        }
        dispResultsMenuPriv.setEnabled(true);
    }

}

4

2 に答える 2

0
for(row=0; row<numberStudents; row++) {
    int min = 0, max = 0;
    float average = 0.0f;
    for(column=0; column<numberQuizes;column++) {
        average += quizin[row][column];
        min = (quizin[row][column] < min) ? quizin[row][column] : min;
        max = (quizin[row][column] > max) ? quizin[row][column] : max;
    }
    average = average/numberQuizzes;
}

このコードを使用すると、各生徒のすべてのクイズのスコアの最小値、最大値、および平均値を簡単に見つけることができます。

于 2013-04-28T06:08:24.373 に答える
0

これを試して

    double[] avg = new double[numberQuizes];
    int[] min = new int[numberQuizes];
    int[] max = new int[numberQuizes];

    // for each student
    for (int[] a : quizin) {
        for (int i = 0; i < numberQuizes; i++) {
            int score = a[i];
            avg[i] += score;
            if (min[i] > score) {
                min[i] = score;
            }
            if (max[i] < score) {
                max[i] = score;
            }
        }
    }
    for (int i = 0; i < numberQuizes; i++) {
        avg[i] /= numberStudents;
    }
于 2013-04-28T06:09:22.520 に答える