- 追加された行はこの色です。
- 削除された行はこの色です。
[[TopPage]] > [[演習課題]] > 小課題
* Javaプログラミング演習の確認(まとめ) [#h3ecc9db]
ここで,演習1の理解度を確認するために,小課題を行います.
みなさんの理解度を確認するために,課題のプログラムができたら,&size(16){''ソースコードを提出''してください.};
※提出されたソースコードの出来は、最終評価の点数には関係しません.できるところまで,やってみてください.
わからなければ,吉野またはTAに質問してください.
*** 提出期限 [#i8e926bb]
&size(16){目標: 演習1日(週)目の講義中.};~
&size(16){最終提出: 演習2日(週)目が始まるまで.};
&size(16){提出先: 以下のメールアドレスに".javaファイル"を添付して送ってください。};~
&size(16){件名: ネットプログラミング小課題(?班)601250?? (名前)};~
&size(20){s105044@sys.wakayama-u.ac.jp};(TA福島のメールアドレスです)~
※動作確認をして返信します.少し時間がかかるかもしれませんが待っていてください.一週間たっても返事がない場合,TA(福島)まで連絡をください.
&size(20){s115017@sys.wakayama-u.ac.jp};(TA岡本のメールアドレスです)~
※動作確認をして返信します.少し時間がかかるかもしれませんが待っていてください.一週間たっても返事がない場合,TA(岡本)まで連絡をください.
** サンプルプログラムの紹介 [#r1e02fe7]
まず,以下のサンプルプログラムをダウンロードしてください.
&ref(Ensyu.java,,,Ensyu.java ダウンロード);/[[ソースコードファイルを見る>http://yoshino.sys.wakayama-u.ac.jp/netprog/source/Ensyu.java]]
サンプルプログラムを実行すると,以下のような表示が出ます.
現在の値: 0
命令を入力してください:
ここで,何か値(例としてABC)を入力すると,
命令を入力してください: ABC
命令ABCは解釈できません.
現在の値は:0
と表示され,「命令を入力してください」に戻ります.
EXITと入力すると,文字入力のループを終了します.
** 課題 [#t36e79f5]
命令文を入力すると,内部の値(現在値)が変わる計算プログラムを作成してください.
具体的には,
ADD 100 [Enterキー]
と入力すると,プログラムの「現在の値」に100を加算します.
同様に,
SUB 50 [Enterキー]
と入力すると,プログラムの「現在の値」から50を減算します.
このように,命令語と数値1つを与えると,プログラム内の「現在の値」を操作して,表示するプログラムを作成してください.
*** 考慮する点 [#f78cd2ae]
- 各命令は,大文字でも小文字でも認識するようにしてください.
- 例外エラーが出たときに,プログラムが止まらないようにしてみてください.
-- 割り算命令を作る人のヒント: 0で割ることはできませんね.
-- 例えば,下のように実行してみるとどうなりますか?
ADD A
*** ヒント [#kb445d2d]
- この小課題でやってもらいたいことは,以下の2つです.~
(1)命令文にある数値文字列を,数値(int型)に変換する処理~
(2)命令語(ADDやSUBなど)を認識し,適切な計算をする処理~
サンプルプログラム中の適切な場所に,
// (1) 2つ目の要素があれば,文字列から数値に変換する.
のように,コメントを挿入していますので,参考にしてください.
- 配列の要素を次のようなコードで参照すると,エラーが発生しやすくなります.("EXIT"を入力するとエラーが出る場合は,これが原因のことが多いです)
String operand = item[1]; // 配列itemの要素数が2つ以上ないとエラー発生
そこで,if文などを使って,エラーを事前に回避することができます.
if (item.length > 1) {
String operand = item[1];
// operand変数をif文の外側で使う場合,先に宣言しておく
}
&size(16){[[&ref(http://yoshino.sys.wakayama-u.ac.jp/netprog/next.gif,nolink); 演習のページに戻る>演習課題]]};