「わかりやすいjavaオブジェクト指向編 P212 練習9-1 3」より 【問題文】 次のクラスがある。ToolクラスのサブクラスとしてmyToolクラスの 中にclearメソッドをオーバーロードしなさい。 package ex_9_1_4; class Tool{ public void clear(int[] n){ for(int i=0; i<n.length; i++){ n[i] = 0; } } } class myTool extends Tool{ } public class Exec { public static void main(String[] args) { int[]n = { 3,5,9 }; int[][]m = { { 3,2 }, { 9,4,2 } }; myTool t = new myTool(); t.clear(n); t.clear(m); } } 【正解】 public void clear(int[][] n){ for(int i=0; i<n.length; i++){ clear(n[i]); //1次元配列のクリア } } 【解説】 1次元配列のクリアには継承した親クラスのメソッドを利用する。 または、2重forループを書いてその中で配列をクリアしても構わない。 クラスToolのメソッドは理解出来ています。 クラスMyToolのメッソドの意味がさっぱり分かりません。 (1)正解のメソッドの解説をして頂けないでしょうか。 (2)2重forループの方法でも構いません。 (3)ゼロでクリアした配列要素を全て表示するコードを 追加したいのですが、どのように書けばいいのでしょうか。 よろしくお願い致します。
↧