- ベストアンサー
Javaプログラムの成績計算
- Javaプログラムを使用して生徒の成績を計算する方法について解説します。
- 複数科目の点数を配列で管理し、各生徒の合計点を計算します。
- 結果を出席番号とともに表示し、どのように計算されるのか詳細に解説します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
絶賛するほどの内容ではありません。 数値の配列変数を宣言して、そこへ定数を代入してforループでコンソールへ出力していますが予め別のforループで各自の3科目の合計点を配列変数へ代入しています。 出来れば出席番号ではなく名前(生徒名)で出力した方が良いでしょう。 私なりに修正すると下記のようになります。 public class test11 { public static void main(String[] args) { String str[] = new String[] {"国語","数学","英語","合計"}; String name[] = new String[] { "斎藤","中村","山本","野口","川口","村野","渡辺","小林","桜井","島田"}; int[][] points = new int[][] { { 27, 53, 82, 77, 37, 61, 84, 72, 25, 91 }, //国語の得点 { 54, 76, 96, 39, 18, 45, 89, 92, 68, 88 }, //数学の得点 { 54, 69, 81, 57, 49, 67, 76, 81, 67, 89 }, //英語の得点 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } //3科目の合計 }; for (int i = 0; i<points[0].length; i++) { System.out.println(name[i] + "さんの成績"); for (int j = 0; j < 4; j++) { if (j < 3) points[3][i] = points[3][i] + points[j][i]; System.out.println(str[j] + " :" + points[j][i]); } System.out.println("-----"); } } }
その他の回答 (3)
- amanojaku1
- ベストアンサー率54% (265/488)
>回答No.2 amanojaku1 >//配列要素はゼロ・スタートです。 >for (int i = 0; i<eto.length; i++) { >System.out.println(i + ":" + eto[i]); >} ↑「eto」には12個の配列要素が定義されています。 ですので「eto.length」は12です。 >for (int i = 0; i<eto.length; i++) { ↑このforループは「i」が「0~11」までループしている事に注意して下さい。 条件式「i<eto.length」は「iはeto.length未満の場合に真」です。 この場合 「eto.length」は12なので「iは12未満の場合に真」です。 よって、このforループは「i」が「0~11」までループします。
お礼
お礼コメント ご回答誠にありがとうございます。 流石ですね。 基本を入念にやっていこうと思います。 今後ともよろしくお願いいたします。
- amanojaku1
- ベストアンサー率54% (265/488)
>forについて、調べてみようと思います。 文章を読んでイマイチ イメージが掴めない場合は簡単なプログラムを作ってみると良いでしょう。 //クラス名は自分のプログラムのクラス名に変更して下さい。 public class test001 { public static void main(String[] args) { String[] eto = new String[] { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥", }; //配列要素はゼロ・スタートです。 for (int i = 0; i<eto.length; i++) { System.out.println(i + ":" + eto[i]); } } }
お礼
ご回答誠にありがとうございます。 流石ですね。 基本を入念にやっていこうと思います。
- Kaneyan-R
- ベストアンサー率42% (1370/3194)
javaはやったことありませんが、書いてあることはハッキリわかるので回答します。 pointsと言う二次元配列(4行10列)を作って 配列の一行目(points[0])に国語の点数をセット 以下、二行目に数学、三行目に英語 forループで国語 数学 英語の各列を合計して四行目にセット forループで、各データを出力 何も難しいことはやってませんよ。初歩中の初歩です。
お礼
ご回答誠にありがとうございます。 forについて、調べてみようと思います。
お礼
ご回答誠にありがとうございます。 流石ですね。 基本を入念にやっていこうと思います。 今後ともよろしくお願いいたします。