welcome: please sign in

リモートwikiのアカウントとパスワードを入力してください。
/!\ ただし、双方のwiki管理者にパスワードを見られる可能性があります。

メッセージを消す
location: リスト処理の演習

リスト処理の演習

課題1

Chainクラスを作成し、次のいずれかを行うmainメソッドを記述しなさい。


1. (初級)

mainメソッド内の変数a,b,cが図のようなオブジェクトを参照しているようにした後

を行って動作を確かめなさい。

ヒント


2. (中級)

1と同じことを、 next.next のような記述をしないで行いなさい。

ヒント


3. (上級)

1と同じことを、インスタンスを次の順で作成して行いなさい。

ヒント


課題2

Chainクラスにメソッドを追加し動作を確かめなさい。


1. (初級)

つぎの3つのメソッドを記述し、mainメソッドにはそれらの動作確認の処理を記述しなさい。


2. (中級)

初級に次を追加。

つぎのメソッドを記述し、 mainメソッドにはそれらをつかって、リストのn番目を削除する処理、リストのn番目に追加する処理を記述しなさい。


3. (上級)

中級に次を追加。

つぎのメソッドを記述し、 mainメソッドには、リストの最後のオブジェクトを削除する処理、リストの最後に追加する処理を追加しなさい。


課題3

課題2の初級まで済んでおり Chainクラスにはコンストラクタと次のメソッドが定義されているものとする。

以下の課題では、Chainクラスに修正加えないこと。

Chainクラスを継承してCardクラスを作成した後、 以下の1~3のいずれかを行いなさい。

Cardクラスは次のとおり入力し、設問に対応する処理をmainメソッド内に追加しなさい。


注意


1.(初級)

mainメソッドの34行目まで行うと、次のような状態になる。

この後、インスタンスを繫ぎかえて、次の状態にする処理を書きなさい。


2.(中級)

青で囲んだ部分に3つのインスタンスがつながっているときに、 その3つを逆順につなぎかえる処理を、 メソッド呼び出しだけを用いて行いなさい。

34行目のa.showContent()で

と表示され、 最後のb.showContent()で

と表示されるようにする。

ヒント

を使います。


3.(上級)

青で囲んだ部分につながっているインスタンスの個数がいくつであっても、 それらを逆順につなぎかえる処理を、 メソッド呼び出しだけを用いて行いなさい。