Javaの課題を解いています。
コンソールに以下全てを表示させたいのですが、現状、「名前は山田 太郎です!」だけ表示される状態です。
解決方法をご教示いただきたいです。
以下のコードはメインメソッド・ドッグメソッド・アニマルメソッドになります。
【動物と鳴き声の一覧】
動物 「鳴く」などの動詞
犬(dog) bark(吠える)
猫(cat) meow(吠える)
鳥(bird) sing (歌う感じでさえずる)
羊(sheep) bleat(メーと鳴く)
豚(pig) grunt (ブーブー鳴く)
実現したいこと
コンソールに以下を表示させたいのですが、上手くいきません。
私の名前は、山田太郎です!
これから、私のペットを紹介します!
名前は、ポチです!
2020/07/27で7歳になります!
わんわん!
発生している問題・エラーメッセージ
・ローカル変数nameの値は使用されていません。 ・ローカル変数ageの値は使用されていません。 ・メソッドbark()は型Animalで未定義です。 ・コンソールに「名前は山田 太郎です!」だけ表示される状態。
該当のソースコード
Java
【Main.java】 package animal; public class Main { public static void main(String[] args) { // 問① 下部の問④のメソッドを作成後、自身の姓名を引数にセットしなさい Main.printMyName("山田", "太郎"); // 問② 以下の変数に適切な値を格納しなさい。 String name = "ポチ"; int age = 7; } // 問2 以下の変数に適切な値を格納しなさい。 String name = "ポチ"; int age = 7; // 問③ 以下の条件で、任意の動物クラスをインスタンス化し、適切なメソッドを呼び出しなさい。 // 1: メソッドの引数には、問②で作成したローカル変数を使用すること。 static void show(String name) { System.out.println("私の名前は" + name + "です!"); } static void showAnimal(String name, int age) { System.out.println("これから、私のペットを紹介します!"); Animal animal = new Dog(name, age); animal.introduce(); animal.bark(); } // 問④ 以下1〜3の条件で、自身の名前とペットを紹介する旨の内容をコンソールへ出力する printMyName メソッドを作成しなさい。 // // - 1. アクセス修飾子 = private // - 2. 引数: // - 2-1. 姓(セイ) // - 2-2. 名(メイ) // - 3. 戻り値 = なし private static void printMyName(String firstName, String lastName) { System.out.println("名前は" + fullName(firstName, lastName) + "です!"); } private static String fullName(String firstName, String lastName) { return firstName + " " + lastName; } } 【Dog.java】 package animal; // 問⑥ 以下の条件で、任意の動物クラスを作成しなさい。 // - 1: 対象の動物は、【動物と鳴き声の一覧】を参考とすること // - 2: Animalを継承すること public class Dog extends Animal { public Dog(String name, int age) { super(name, age); } // 問⑦ 以下の条件で、当該クラスに合う動物の鳴き声をコンソールへ出力するメソッドを作成しなさい。 // - 1: 対象の動物の鳴き声は、【動物と鳴き声の一覧】を参考とすること // - 2. アクセス修飾子 = protected // - 3. 引数 = なし // - 4. 戻り値 = なし protected void bark() { System.out.println("わんわん!"); } } 【Animal.java】 package animal; import java.text.SimpleDateFormat; import java.util.Calendar; public class Animal { private String name; private int age; public Animal() { } public Animal(String name, int age) { this.name = name; this.age = age; } protected void setName(String name) { this.name = name; } protected void setAge(int age) { this.age = age; } protected String getName() { return this.name; } protected int getAge() { return this.age; } protected void introduce() { System.out.println("名前は、" + this.getName() + "です!"); } // 問⑤ 以下の条件で、Calendarクラスを使用して、yyyy/MM/dd形式で誕生日を取得しなさい // - 1: Calendarクラスの変数名 = calendar // - 2: 実行する日より「5ヶ月15日後」の日付を表示しなさい public class Main { public static void main(String[] args) throws Exception { Calendar calendar = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); System.out.println(sdf.format(calendar.getTime()) + "で" + "歳になります!"); } protected void bark() { } } }
試したこと
以上のコードを試行錯誤し作成しました。
補足情報(FW/ツールのバージョンなど)
総合開発環境はエクリプスです。
こちらの質問が複数のユーザーから「調査したこと・試したことが記載されていない質問」という指摘を受けました。