以下のことをやって,作った二つのソースファイルを moodle の該当の場所へ提出してください. ファイル名の間違いに注意
第9回 講義資料記載の「ex09 課題A」をやりましょう.
以下のことをやって,作ったソースファイルを moodle の該当の場所へ提出してください. ファイル名の間違いに注意
第9回 講義資料記載の「ex09 課題B」をやりましょう. 課題Aで提出したプログラムに間違いがあった場合は,修正してからこちらの課題に取り組みましょう.提出するのは Boss.java のみです.
次回授業までに必ずやっておくこと
次回の授業の資料(PDFや動画)等は こちら からどうぞ.
キャンパス内各所に設置されたプリンタで印刷することもできます.くわしくは「ポータル > 情報環境 > マニュアル > 印刷利用マニュアル」参照.
学内の実習室等に設置の PC ではスピーカから音が出ませんので,イヤフォン/ヘッドフォンを用意する必要あり
これはおまけ課題です.やらなくても減点になりません.やったら加点かも
(moodle の「おまけ課題」のところに,「自由課題」というのを書いときました.よかったら見てね)
複素数を扱うクラスを作ろう.
以下のAPI仕様を満たす Complex.java を作る. このクラスの全てのメソッドを呼んで動作確認するmainメソッドも書こう. 以下の仕様からわかるように,フィールドは非公開としよう
コンストラクタ
メソッド
ヒント: どちらのaddメソッドも,インスタンスの値を変更するものではないですね.new してそれを return したらよいでしょう.
Complexクラスを拡張したクラス Complex2 をつくろう. このクラスは,次のようなものとすること.
(1) コンストラクタの仕様はComplexと同じ
(2) 次の仕様のメソッドを定義する
(3) さらに次のものを計算するメソッドを追加しよう.乗算,絶対値,共役複素数.
注: 上記の toString メソッドは,Objectクラスで定義されているものを「再定義(オーバーライド)」することになります(教科書p.81参照). System.out.printlnにオブジェクトを渡すと,そいつのtoStringを呼んで返ってきた文字列を使って表示してくれるので,こんなことができるようになります.
Complex2 z1 = new Complex2(2.0, 3.0); Complex2 z2 = new Complex2(2.0, -3.0); System.out.println(z1); → 出力例: 2.0+3.0i System.out.println(z2); → 出力例: 2.0-3.0i
できあがった Complex2 クラス に main メソッドを追加して動作確認しよう. 作ったすべてのメソッド等の動作を確認できるようにすること.
さらに,次の問の答えを計算させよう. 手計算の結果と比較して確認してね.
\( z = 2\cos{\frac{5}{3}}\pi + 2i \sin{\frac{5}{3}}\pi \) とおくとき,\( z^6 \) はいくつか?