- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javaについての質問です)
Java初心者によるN人の成績入力プログラムの作成
このQ&Aのポイント
- Java初心者がN人の名前と数学・英語のテストの点数を入力するプログラムを作成できません。JDK6を使用しています。
- プログラムの実行結果は、数学の最高点をとった人と英語の最高点をとった人、数学の点数が平均点以上の人、英語の点数が平均点以上の人、2科目とも平均点以上の人、1科目でも40点未満の人です。
- 誰かプログラムを解いていただけませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
機能を分けて作りましょう。 class A(最高得点判断) 数学の最高点をとった人判断メソッド 英語の最高点をとった人メソッド class B(平均点判断) 数学の点数が平均点メソッド 英語の点数が平均点メソッド class C(平均点以上、40点未満判断) 2 科目とも平均点以上の人メソッド 1 科目でも40 点未満の人メソッド 表示用クラスD(上記機能の処理結果を表示するクラス) system.out.printli("~~~~");
その他の回答 (1)
- suzukiyo
- ベストアンサー率26% (11/42)
回答No.2
一人目、二人目・・・と同じ構造をしていることから「compositeデザインパターン」を適用できるのではと思いました。 課題なので、直接回答はしませんが、ヒントとなるページのURLを記載します。 参考にしてみてください。
質問者
お礼
ありがとうございます。 何とか理解しようとしましたが、何度読んでもよく分かりませんでした。 なので、作ってみて実行したいと思います。
お礼
ありがとうございます。 課題ではないのでゆっくりとできますが、 import java.io.*; public class Prag1 { public static void main(String args[]) throws IOException { System.out.println("人数を入力して下さい."); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); int test[] = new int[num]; for(int i=0; i<num ; i++){ System.out.println((i+1) + "人目のデータ"); String name=br.readLine(); String str1=br.readLine(); int tmp = Integer.parseInt(str1); test[i] = tmp; String str2=br.readLine(); int tmp1 = Integer.parseInt(str2); test[i] = tmp1; System.out.println("名前 : "+ name); System.out.println("数学 : "+ tmp); System.out.println("英語 : "+ tmp1); } } } 最初にここまでつくって見ました。 ですがここで止まってしまいました。原因はうまく出力できないことなど ありますがどうしたらいいのでしょうか?