残留開始まで
自分の2回前の人の発表時に、前に出て準備をお願います。
順番 | 学籍番号 | 順番 | 学籍番号 |
1 | 14fi121、14fi88 | 16 | 14fi066 |
2 | 14fi116、14fi25 | 17 | 14fi064、14fi034 |
3 | 14fi115、14fi58 | 18 | 14fi049 |
4 | 14fi113 | 19 | 14fi043 |
5 | 14fi110 | 20 | 14fi041 |
6 | 14fi107 | 21 | 14fi015 |
7 | 14fi102、14fi097 | 22 | 13fi122 |
8 | 14fi087 | 23 | 13fi095 |
9 | 14fi098、14fi072 | 24 | 13fi043 |
10 | 14fi099、14fi082 | 25 | 14fi009 |
11 | 14fi081、14fi004、14fi063 | 26 | 14fi062、14fi093 |
12 | 14fi080、14fi010 | 27 | 14fi126 |
13 | 14fi078、14fi055 | 28 | 14fi125 |
14 | 14fi054 | 29 | 14fi124 |
15 | 14fi042、14fi069 | 30 | |
31 | 13fi123 |
最終課題発表会の詳細 ネットワークのTCP/UDP通信をつかった通信プログラムを作りなさい。(1:1 1:n n:m マルチキャストのいずれの通信モデルでもよい) 二人一組のチームでプログラムを作成することも勧めるが、その場合は役割分担を明確にわけること。クオリティは一人でやるチームの1倍以上を期待する。採点は別々に行うので役割分担を明 確にすること。(3人でやる場合は1.08倍のクオリティを期待する)
最終発表会は1/17日に設定する。学籍番号順。pptの説明資料(企画書の発展版)。プログラムが当日うまくいかなかった場合の動作説明のスクリーンショット、役割分担、シーケンズ図、アピールポイント、将来展望を明記すること。ソース発表日当日9:20にすべて提出すること。Eclipseのエクスポートでプロジェクトファイルとしてzipで提出してもよい。最後の回の第15回フォルダに提出してください。採点はチームではなく役割に応じて個別に行われるため、それぞれのメンバー全員が提出する必要があります。
持ち込み可、ネット検査可、過去の自分のプログラムや授業資料をみるのも可能です。 終わったら、自分の最終課題に取り組んでください。
■模擬試験A(20点) 英国数社理のセンター試験の科目名と点数を コンストラクタ内でランダムに0-100点の間で整数の点数が自動に入力されるものとする。 (1)各科目のそれぞれ個別点数と(2)5科目全体平均点と(3)最高点科目とその点数を 表示する関数を実行するプログラムを作成せよ。配列で処理すること。以下のクラスやその属性を必ずもつものとする。 提出先 課題提出フォルダ/12/(自分の学籍番号)/Exam/a CenterKamokuManager.java CenterKamoku.java method: printAverage(); method: printMaxKamoku(); 実行イメージ 英:67 国:40 数:56 社:89 理:45 5科目の平均は:61点 最高点は89点の社です。 (パッケージ名はなしでアップロードしてください) ※余裕があれば100人*5科目の二次元配列の問題を解いてもよいものとする。+1点
■模擬試験B(20点) サーバクライアント通信でコンソールから入力した数字を送信し、 その数が素数であるかどうかを判定するプログラムを作成せよ。 なお返信は"x is Prime", "x is non-Prime"と返信すること。 またクライアントは何度でも送信可能とすること 終了は"q"または"exit"を送信した場合とすること PrimeServer.java PrimeCelinet.java(パッケージ名はなしでアップロードしてください) ChatServer ChatClientを改造すること。 提出先 課題提出フォルダ/12/(自分の学籍番号)/Exam/b
■模擬試験C(20点) Threadを10個数生成し1秒間隔、2秒間隔、3秒間...10秒間隔で10回カウンターを表示するプログラムを作成せよ。それぞれスレッドIDとカウンターを表示せよ。 ThreadCount10Main CountTenRunnableImpleC 提出先 課題提出フォルダ/12/(自分の学籍番号)/Exam/10/c
出席
テスト解説 最終課題進捗確認
第8回の課題はありません。授業中ないにだした問題はPrintWriterを用いているGuiMultiClient.java GuiMultiServer.java あるいは ChatClientPrintWriter.java CharServer.javaを用いるとできます。第9回で再度解説します。
XmasPresentサーバクライアントを改造し、 Serializable,ITaskが実装されたTaskObjをサーバとクライアントでやりとりし 計算のみサーバで実行させるサーバクライアントを完成させよ。 ※ 計算は最大素数を求めるもの ITaskインターフェースに以下の3つのメソッドが必ずあることとする。 public void setExecNumber(int x); //クライアントで最初に計算させる数字を入力しておく関数 public void exec() , //サーバで計算を実行をさせる関数 public int getResult() //クライアントで結果を取り出す関数 サーバクライアントはTaskServer,TaskClientという名前にすること。 トラブルを避けるためデフォルトパッケージで実行すること。 サーバ上で計算された最大素数は、クライアントでint getResult()で取得できるように実装せよ。 サーバ側で実行するメソッドはexec()関数のみ クライアントから入力された値の最大素数がかえってくるプログラムを実装せよ。 ヒント: 素数判定は与えられたNに対して2からN平方根の数を一つ一つ割り切れるか調べればよい。もっとよい計算問題あります。 応用編:ユーザからの入力を繰り返し受付、サーバに素数計算を返すように改良せよ。whileを用いよ。 名前はTaskServerWhile,TaskClientWhileを完成させよ。 終了条件は1以下の値が入力された場合にサーバおよびクライアントは終了するようにせよ。 Eclipseである程度確認できたらコマンドプロンプトでフォルダをサーバとクライアントにわけ(パッケージはどちらもなし)実行せよ。 入力数を大きくし、サーバでcpuに負荷がかかっている様子をスクリーンキャプチャして課題提出フォルダに一緒にいれよ。
超応用問題:サーバ側の処理を Thread化(WorkerThread等)し複数のクライアントからの要求を処理できる形に改良せよ。TaskServerThread,TaskClientThreadというファイル名にせよ。
DendaiTCPClient2Age.java,DendaiTCPServ2Age.javaを改造し、1-40の数字入れるとその数字の平成を西暦に変換し、1989以上の数をいれると平成の元号の年数に変換するプログラムを作成せよ。それ以外はサーバに「入力エラー」と返信するプログラムをかけ。
隣通しで挙動を確認せよ。ipconfigで自分のipアドレスは確認できる。サーバの2重起動しないように注意すること。(Eclipseのコンソールのバツボタンや赤ボタンできっちり終了させること。)
第5回フォルダに提出のこと。授業中のミニ課題とあわせて、3つのファイルを提出すること。ファイル名は変更しなくてよい。
P77-80ページを参考にオブジェクト配列での顔を3x3以上の個数で完成させよ。 一つ一つの顔の表情と色を変化させよ。 第4回フォルダーにいれてください。
コマンドラインのプログラムにてユーザに生年を西暦で入力させよ。その結果として、オリンピックが開催する2020年のユーザの年齢とユーザが誕生した年の元号n年(明治、大正、昭和、平成)が表示されるプログラムを作成せよ。 入力がqあるいは0の場合は終了するようにせよ。 入力した現在の年齢がマイナスおよび120歳以上の場合は再入力を促すようにせよ。 なお元年(1年)を優先すること。
演習3-B課題 HeikinAを参考にHeikinBを完成させよう。java.util.RamdomとnextInt()を使おう。100人の点数を入力させてその平均を出力します。自分で調べてがんばりましょう。 演習3-C課題
FaceMain.javaを改造してオブジェクト指向で書かれたFacesMain.javaを提出しください。fobj1.faceDraw(g);のような書き方をすること。顔は一つ以上であること。
ヒント1 (文字列連結) Calc1.java ヒント2 (二つの数をたす) Calc2.java クラス名: Calc3
Eclipseのインストール できれば最新版に (一人で問題なく対応できるひとはIntelliJ IDEA でもかまいません。第一回講義の最後の記載。) Eclipse 4.6 Neon ネオン SR0 for Windows ベース Java 64bit full edition for windows
(1)9/12 第1回 Java理解度チェック (2) 第2回 Javaプログラミング基礎1 (3) 第3回 Javaプログラミング基礎2 TCP/IPの復習 TCPサーバ (4) 第4回 TCPクライアント/サーバ通信 チャットプログラム (5) 第5回 UDP通信 (6) 第6回 中間学力考査 (持ち込み不可 紙提出) (7) 第7回 スレッド基礎 サーバのスレッド化 マルチスレッド (8)第8回 デザインパターン ファクトリメソッド シングルトン (9)第9回 ノンブロッキングI/O Javaプログラミング応用 (10)第10回 マルチスレッド スレッドプール (11)第11回 Webクライアント (12)第12回 WEBサーバ,プロジェクト設計 (13)第13回 プロジェクト実装1 (14)第14回 プロジェクト実装2 (15)第15回 学力考査 (持ち込み可 プログラミング提出)