残留開始まで
持込可、インターネット,検索可 チャット・ライン・共有ドライブ(Googleドライブ、Dropbox)、メール不可。LANケーブルを利用。 第13回ネット/ワークフォルダに自分の学籍番号/Examに提出してもらいます。
(a)3-10000の整数のうちから素数のみをコンソールに出力するプログラムをかけ。 ファイル名はPrimeMain.javaとし13回に提出フォルダExam/aを作成して提出すること。 ヒント:10000までの素数を判定する場合には2から100(√(10000))までの間で割り算のあまりを計算すればよい。なぜならxがp*qと素因数分解できるならp*qの内小さい方は必ず10000の平方根の100以下となる。 アルゴリズムは最適化しなくてよい。パッケージ名は記載しないこと。(15点の配点)。
(b)オブジェクト配列の問題である。TDU大学FI学科へは999名の学生が受験した。 各受験生の受験番号(1-999番)と数学、英語、国語の3科目の成績を受験生ごとに管理するクラスExamScoresクラスがある。 ファイル名はExamScores.javaとする。ExamScoresクラスにはset/getExamID、set/getMathScore、set/getEngScore、set/getLangScore、getAverageScoreのメッソッド(関数)ある。ExamScoresクラス内部変数はint型とする。 ランダム関数(java.util.Random)を利用し0-100点の適当な点数を999名の学生にセットする。 その上で3科目平均点が85点以上は合格者とせよ。その合格者のIDと各科目の点数を見やすくコンソール出力するExamMaxAveMain.javaを作成せよ。 出力した合格者+各科目の点数一覧をGokaku.txtというファイルに保存すること。(自動保存でもコンソールをコピーしてもよい)余裕がある人は成績順にソートして出力するプログラムを作成してみてください。 13回に提出フォルダExam\bを作成ししjavaとクラスを保存すること。パッケージ名は記載しないこと。(15点の配点)
(c) じゃんけんの"Guu","Choki","Pa"をクライアントからサーバの5002番ポートに送信すると、その度にサーバ上のランダムなじゃんけんの手を生成しその手と毎回比較して以下の(c-1)-(c-3)の返事を返してくるプログラムを作成しなさい。そのプログラムを14回のExam\cというフォルダを作成し提出すること。それぞれの達成度で各5点。途中まで(c-1)や(c-2)まででも良いので完成させること。 (c-1)"Server Win","Server Draw","Server Lose"の勝ち負け判定 (c-2)サーバのじゃんけんの手("Guu","Choki","Pa") (c-3)現在のサーバの勝率 ※やや難 堤出ファイル名: JankenClientLoop.java,JankenServerRandom.javaプログラムを完成させよ。第13回フォルダに「Exam\c」というフォルダを作成しその中に必要なソースコードを入れること。 文字列を比較したい場合はStringクラスのequals()関数を利用。 出力例: Client is started send Janken Command to Server 5002port: >Choki Response from Server: You Win. Server hand is Guu. (Win,Draw,Lose)=(39%,30%,31%) send Janken Command to Server: >Pa Response from Server: Draw. Server hand is Pa. (Win,Draw,Lose)=(38%,31%,32%)
訂正:クラス名はPPAP_S PPAP_Cのアンダーバーに変更してください。 訂正:各文字列の最初の文字列が小文字である場合⇒各文字列の最初の文字が小文字である場合 pen->Pen (d)PPAP_S.java(サーバ) とPPAP_C.java(クライアント)を生成せよ。 クライアントからサーバに"abc,def,reverse"と送信すると、サーバから ","が"-"となり二つの文字列の順序の並びが逆になって"Def-Abc"と返信がくる。(※さかさ文字になるわけではない.単に順序が逆になるだけ)。また各文字列の最初の文字が小文字である場合には大文字に変換させれる。大文字が文字列にあった場合にはそのまま保持する。 "abc,def,sequence"をクライアントからサーバにおくると"Abc-Def"とそのままの順序で","が"-"になり返信がくる。同様に各文字列の最初の文字が小文字である場合には大文字に変換させれる。大文字が文字列にあった場合にはそのまま保持する。 クライアントから"pen,apple,reverse"の返信をs1、 クライアントから"pen,pinapple,sequence"の返信をs2というString変数で保持し 再度s1+","+s2+",reserve"をクライアントからサーバに送信すると"Pen-Pinapple-Apple-Pen"がサーバから返信されることを確認せよ。 提出フォルダはExam\dとせよ。 ヒント:文字の大文字小文字変換の関数はJavaで用意されている関数を使うとよい。通信には授業中にやったPrintWrinterを使うとよい。