私は2次元のオブジェクト配列を持ち、学生の名前と成績で埋められます。各生徒には独自の行があり、最初の列には生徒の名前が表示され、次に4つの列にはテスト成績が含まれます。各生徒のテストの平均を見つける必要がありますが、各行の2倍の値を平均する方法はわかりません。私はまた、データベース内のすべてのテストの平均を見つける必要があります。誰かが私にこれを行う方法を教えてもらえますか?Javaのオブジェクトの2次元配列から数値を抽出するには
public class StudentGrades extends javax.swing.JFrame {
Object[][] database = new Object[14][5];
int studentCount = 0;
...
private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {
//declare variables
double grade1 = Double.parseDouble(test1.getText());
double grade2 = Double.parseDouble(test2.getText());
double grade3 = Double.parseDouble(test3.getText());
double grade4 = Double.parseDouble(test4.getText());
String name = firstInput.getText() + " " + lastInput.getText() + ":";
if (grade1 >= 0 & grade1 <= 100 & grade2 >= 0 & grade2 <= 100 & grade3 >= 0 & grade3 <= 100 & grade4 >= 0 & grade4 <= 100){
//add data
database[studentCount][0] = name;
database[studentCount][1] = grade1;
database[studentCount][2] = grade2;
database[studentCount][3] = grade3;
database[studentCount][4] = grade4;
//add to student count
studentCount = studentCount + 1;
//limit number of students
if (studentCount == 15){
addButton.setEnabled(false);
}
}
else {
errorLabel.setText("Please Enter Valid Data.");
}
配列の配列を使用する必要がありますか?それとも、この問題を解決するために選んだのでしょうか?デザインを選択できる場合は、名前とグレードの一覧をカプセル化するStudentクラスを作成することを検討してください。 –
このデータ構造は使用しないでください。文字列キーと 'List'値を持つマップのようなものを使用してください。また、Java 8 Stream APIに含まれる削減関数にも興味があります。 –
ifly6
1.これには 'Object [] [] database'を使用すべきではありません。 2.どのように平均を計算しようとしましたか? – bradimus