* クラスParent04に受け取ったString配列の中身を全て大文字に変換するChangeメソッドが定義されています。クラスParent04を継承するクラスChild04でChangeメソッドを オーバーライドして、String配列の中身を全て小文字に変換するように変更してください。 その後クラスOverRide04のmainメソッドからChangeメソッドを呼び出して、 変換後のString配列の要素を全て出力してください。 */ // オーバーライドされるので覆い隠される class ORParent04{ public String[] Change(String[] strArray){ int len = strArray.length; String[] Array = new String[len]; for(int i = 0; i < len; i++){ Array[i] = strArray[i].toUpperCase(); } return Array; } } // ORParent04クラスを継承し、ORChild04でオーバーライド // こちらが適用される。 class ORChild04 extends ORParent04{ //ここからプログラムを追加してください。 public String[] Change(String[] strArray){ int len = strArray.length; String[] Array = new String[len]; for(int i = 0; i < len; i++){ // toLowerCaseで小文字に変換 Array[i] = strArray[i].toLowerCase(); } // 値を返す return Array; } } class OROverRide04{ public static void main(String[] args){ // ORChild04クラスのインスタンス化 ORChild04 ORchild04 = new ORChild04(); //ここからプログラムを追加してください。 // Changeメソッドの呼び出し:戻り値String[],引数String[] String[] array = ORchild04.Change(String[] args); // 表示 System.out.println(array); } } このような問題で、現在これをコマンドプロンプトでコンパイルすると、mainメソッド内のString[] array = ORchild04.Change(String[] args);メソッド呼び出し部分が指定され、 「'.class'がありません」 「;がありません」 という2つのエラーが表示されます。ネットでエラー表記の意味を検索し、コードを確認しましたが、「{}」と上記より上の行の;が特に抜けている、という訳ではありません。勿論自分が何か見落としている為にコンパイルエラーになるのですが、戻り値と引数の値は合わせているので、心情としては「動けジ・O!何故動かん!?」という具合です。 どなたか考え方やヒントなどお願い致します。後もう少しだと思うのですが。。。
↧