###実現したいこと
Javaの課題にいきづまっています。初心者です。
⑴AnimalインターフェースをインプリメントしたCatクラスおよびDogクラスを作成
⑵引数で受け取ったAnimalインターフェースのanimalメソッドを実行する
⑶コマンドプロンプトから文字列を受け付け、CatかDogのどちらかを入力してもらい、入力されたほうのインスタンスを生成し、Cat(またはDog)クラス内にあるメッセージを表示する
戻り値はすべてvoid指定です。
###発生している問題
⑵について。Animalインターフェースの引数をどこで受け取り、animalメソッドを実行するのかがわかりません。 問題の意図としてはおそらく、「選択されたクラスはAnimalインターフェースをインプリメントしているのでanimalメソッドを受け継いでいる。だからCatクラスでもDogクラスでもそのメソッドが実行できることを証明する」ということなのかな?と考えているのですが…。 ⑶コマンドプロンプトからJavaへ文字列入力を受け付けるには以下のコードなのか、実際に実行したいのですが、Javaのファイル保存がうまくいきません。手順をご教授願います。入力については参考にしたURLを張り付けておきます。
###該当のソースコード
//メインクラス //ここでAnimalインターフェースのAnimalメソッドの実行および、コマンドプロンプトからの入力をうけつけます public class Main { public static void main(String[] args) { BufferedReader L00 = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("Please enter test or Production"); String msg = L00.readLine(); System.out.printf("入力 = %s%n長さ = %d文字%n", msg, msg.length()); } catch(IOException L02) { System.out.println("入力エラー"); } //このあたりの記述の仕方に悩んでいます。 public void animlal(Animal animal){ return } ______________________________________________ //Animalインターフェースです public interface Animal { public void animal(); } ______________________________________________ //Catクラスです public class Test implements Animal { public void animlal() { System.out.println("Catクラスです。"); } } //Dogクラスです public class Test implements Animal { public void animal() { System.out.println("Dogクラスです。"); } }
###どなたか
お詳しい方お教えいただけると幸いです。
###追記
http://www.groovy-number.com/java/sample/LineInput.html
申し訳ありません、URLを貼り忘れていました。
コマンドプロンプトからの入力を受け付けるのはこのやり方を参考にいたしました。
回答4件
あなたの回答
tips
プレビュー