残留開始まで
■模擬試験A(10点) 1-10000までの奇数を全て足し算をしなさい。WhileOddCount.java 出力結果ファイルans_a.txtとソースコードを以下の提出先に提出すること。 提出先 課題提出フォルダ/15/(自分の学籍番号)/Exam/a
■模擬試験B(20点) 受験生番号が0−99までの数学受験生を考える。この100人の数学の試験を行ったものとする。 これらを管理するクラスをMathKamokuManagerクラスとする。 MathKamokuクラスには受験生番号と点数を管理するとしてその100個のオブジェクトの配列がMathKamokuManagerクラスで保持される。 コンストラクタ内でランダム0-100点の間で整数の点数が自動に入力されるものとする。 (1)全体平均点と(2)最低点と最高点の点数とその学生の受験生番号を出力しその結果を保存せよ。 表示する関数を実行するプログラムを作成せよ。配列で処理すること。以下のクラスやその属性を必ずもつものとする。
MathKamokuManager.java method: void printTotalAverage(); method: void printMaxMinKamokuScore(); MathKamoku.java method: int getScore(); method: int getID();
提出先 課題提出フォルダ/15/(自分の学籍番号)/Exam/b 提出ファイル:実行結果ans_b.txt +ソースファイルMathKamokuManager.java+MathKamoku.java(パッケージ名はなしでアップロードしてください)
実行結果イメージ: 100人の平均は:51点 最高点は99点の受験生31番です。 最低点は3点の受験生53番です。
Hint: クラスMathKamokuManager(MathKamokuManager.java) class MathKamokuManager{ MathKamoku[] kamokus = new MathKamoku[100]; public static void main(String[] args){ MathKamokuManager manager=new MathKamokuManager(); //manager... }//main end //コンストラクタ MathKamokuManager(){ //for文を使って100個インスタンス化していきます。 kamokus[0] = new MathKamoku(0); } }//class end
クラスMathKamoku(MathKamoku.java) public class MathKamoku { int score=0; int id=0; MathKamoku(int id){ this.id=id; score= (int)(Math.random()*101); } }
■模擬試験C(20点) サーバクライアント通信でコンソールから入力した3以上から1000以下の正の整数を送信し、サーバ側でその数が素数かどうかを判定しクライアントにその結果を返信するプログラムを作成せよ。 なお、セキュリティ上ポート番号に制限がかかっているため利用するポート番号は5001番ポートなど授業で利用したポートを利用すること。 なお返信の文字列は"x is Prime", "x is not Prime"と返信すること。 ファイル名はPrimeServer.java PrimeClient.javaとせよ。 素数判定のアルゴリズムはGoogleなどで検索してもよい。 ヒント:たとえば、10000という数の素数を判定する場合には2から100までの間で割り算のあまりをチェックすればよい。(√(10000)=100である。xが素数でなければp*qと素因数分解でき、p,qのうちどちらか一方は必ず100以下になるためxを100までの数で順番に割れるかどうかを調べれば素数かどうかを判定できる。) 素数判定のアルゴリズムは最適化しなくてよい。パッケージ名は記載しないこと。(20点の配点)。 提出先 課題提出フォルダ/15/(自分の学籍番号)/Exam/c (パッケージ名はなしでアップロードしてください) 提出ファイル クライアント出力結果:ans_c.txt PrimeServer.java PrimeClient.java