多次元配列を使用して生徒の成績を計算し、表示するJavaプログラムを作成する方法を説明します。
まず、3人の生徒の成績を格納するための2次元配列を宣言します。要素数は、生徒の数(3人)と教科の数(4科目)とします。
“`java
int[][] scores = new int[3][4];
“`
次に、各生徒の成績を入力します。例えば、以下のように入力してください。
“`java
scores[0][0] = 80; // 生徒1の英語の成績
scores[0][1] = 75; // 生徒1の国語の成績
scores[0][2] = 90; // 生徒1の数学の成績
scores[0][3] = 85; // 生徒1の理科の成績
scores[1][0] = 70; // 生徒2の英語の成績
scores[1][1] = 85; // 生徒2の国語の成績
scores[1][2] = 80; // 生徒2の数学の成績
scores[1][3] = 90; // 生徒2の理科の成績
scores[2][0] = 90; // 生徒3の英語の成績
scores[2][1] = 80; // 生徒3の国語の成績
scores[2][2] = 95; // 生徒3の数学の成績
scores[2][3] = 70; // 生徒3の理科の成績
“`
最高得点を求めるために、以下のように計算します。
“`java
int maxScore = scores[0][0]; // 最高得点の初期値を生徒1の英語の成績に設定
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j maxScore) {
maxScore = scores[i][j];
}
}
}
“`
最高得点者を求めるために、以下のように計算します。
“`java
String[] subjects = {“英語”, “国語”, “数学”, “理科”};
String[] students = {“生徒1”, “生徒2”, “生徒3”};
String maxScoreStudent = “”;
int maxScoreSubjectIndex = -1;
for (int j = 0; j < scores[0].length; j++) {
int maxSubjectScore = scores[0][j]; // 各教科の最高得点の初期値を生徒1の成績に設定
for (int i = 0; i maxSubjectScore) {
maxSubjectScore = scores[i][j];
maxScoreStudent = students[i]; // 最高得点者の名前を更新
maxScoreSubjectIndex = j; // 最高得点の教科のインデックスを更新
}
}
System.out.println(subjects[maxScoreSubjectIndex] + “の最高得点者は” + maxScoreStudent + “です”);
}
“`
平均点を求めるために、以下のように計算します。
“`java
double[] avgScores = new double[scores.length];
for (int i = 0; i < scores.length; i++) {
double sum = 0;
for (int j = 0; j < scores[i].length; j++) {
sum += scores[i][j];
}
avgScores[i] = sum / scores[i].length;
}
“`
最後に、結果を表示します。
“`java
System.out.println("各教科の最高得点は" + maxScore + "点です");
for (int i = 0; i < avgScores.length; i++) {
System.out.println(students[i] + "の平均点は" + avgScores[i] + "点です");
}
“`
以上が多次元配列を使用して生徒の成績を計算し、表示するJavaプログラムの作成方法です。必要に応じて、成績の入力方法や結果の表示方法を自由にカスタマイズしてください。