I (ii) | A, Bのどちらか片方だけは-1点、1つ多いのも -1点 |
II (i), (ii) | インスタンス変数(フィールド)の宣言だけは -2点 |
II (i), (ii) | publicなしは減点しない。 |
II (ii) | super(a0, b0);の代わりにa=a0; b=b0;も減点しない。 |
IV (i) | extends JApplet implements Runble, ActionListenerは-1点 |
IV (iii) | myThread != nullも可とする。 |
V (i) | Math.忘れは減点なし。 |
V (iii) | a, bまたはdx, dyのどちらかだけがあっているのは-3点 |
V (iii) | iが2〜4または0〜2のときの値を書いている場合は-2点 |
Iの(iv), (v), IIの(i), (ii), (iv), Vの(i), (iv)などの正答率が低い。
Vは解くのに時間がかかるので仕方ないかもしれないが、 Iの(v)ができなければ、Javaの豊富なライブラリを何一つ利用することができない。 IIの(iv)が理解できなければオブジェクト指向の本質がわかっていない。
特に正答率の低かった Iの(v)、IIの(iv)、Vの(iv)を間違ったひとのために追加レポート問題(1問5点)を用意したので、 自己採点で合格点に達していない人は自分の間違ったテスト問題に対応するレポート課題を解いて提出すること。 (なお、個別の得点の問い合わせには応じられない。自己採点すること。)
もちろん合格点に達している人・正解したけど偶然だった人が、自分の勉強のために提出するのも(加点にはならないが) 歓迎する。
Stringクラスのメソッド (charAt, indexOfなど)を使って、 コマンドライン引数として与えられるアルファベットの
the quick brown fox jumps over the lazy dog.
cozy lummox gives smart squid who asks for job pen.
how razorback-jumping frogs can level six piqued gymnasts?
jackdaws love my big sphinx of quartz.
pack my box with five dozen liquor jugs.
の5つの文字列中の最初の出現位置を出力するプログラム (FindIndex.java)を作成せよ。最初の文字は0文字目で、出現しない場合は-1文字目と出力すれば良い。
つぎのテンプレートを使用して良い。
public class FindIndex { static String[] data = { "the quick brown fox jumps over the lazy dog.", "cozy lummox gives smart squid who asks for job pen.", "how razorback-jumping frogs can level six piqued gymnasts?", "jackdaws love my big sphinx of quartz.", "pack my box with five dozen liquor jugs.", }; public static void main(String[] args) { int i; /* コードを挿入して下さい */ for(i=0; i<data.length; i++) { String str = data[i]; /* コードを挿入して下さい */ } } }
例えば java FindIndex aは次のように出力する。
文字 aは、「the quick brown fox jumps over the lazy dog.」の36文字目に出現します。 文字 aは、「cozy lummox gives smart squid who asks for job pen.」の20文字目に出現します。 文字 aは、「how razorback-jumping frogs can level six piqued gymnasts?」の5文字目に出現します。 文字 aは、「jackdaws love my big sphinx of quartz.」の1文字目に出現します。 文字 aは、「pack my box with five dozen liquor jugs.」の1文字目に出現します。
Javaで動的束縛(dynamic binding, 動的結合と訳すこともある)を説明する 短いプログラムの例を (授業配布プリント以外の)書籍・Webなどから探し、静的束縛の場合と比較して 実行結果がどうなるか解説せよ。
参考にした資料の出典を記すこと。書籍の場合はタイトル・著者・出版社・ISBN・説明を見つけたページ, Webページの場合は、タイトル・著者(わかる場合)・URLを書くこと。
アプレットHatena.javaを実行して、スクリーンショットをとり、 i=0〜7の時の:
を図に書き入れよ。その時のiの値がわかるように横に記すこと。
ただし、スクリーンショットをとりやすくするために、次のように拡大・平行移動することをお勧めする。
変数の初期値を次のように変更する。
x0=300, y=480; dx=20, dy=20;
アプレットのサイズは 420×680 に設定する。
作成した Javaのソース(.java)ファイル、 クラス(.class)ファイル、HTMLファイルなど実行に必要なファイルは全て、 \\stfile\Report\kagawa\CompNet1\TsuikaReport\ の下の「s学籍番号」という名前のフォルダにオンライン提出する。
解答をWord(もしくは一太郎, TeXなど)文書にまとめて、A4用紙に印刷したものも提出すること。
以上の注意が守られていれば、最小限の長さのものでよい。
締切は、8月18日18時(間に合わない場合はとりあえず提出する意思をメールで連絡すること)