

【動物と鳴き声の一覧】  
動物 「鳴く」などの動詞  
犬（dog） bark（吠える）  
猫（cat） meow（吠える）  
鳥（bird） sing （歌う感じでさえずる）  
羊（sheep） bleat（メーと鳴く）  
豚（pig） grunt （ブーブー鳴く）

コンソールには以下を表示させたいです。

私の名前は、山田太郎です！  
これから、私のペットを紹介します！  
名前は、ポチです！  
2020/07/27で7歳になります！  
わんわん！

作成中のコードは下記です。

【メインメソッド】

[code]

    package animal;
    
    public class Main {
    
        public static void main(String[] args) {
    
            // 問① 下部の問④のメソッドを作成後、自身の姓名を引数にセットしなさい
            Main.printMyName("山田", "太郎");
    
            // 問② 以下の変数に適切な値を格納しなさい。
            String name = pet;
            int age = 7;
        }
    
        // 問③ 以下の条件で、任意の動物クラスをインスタンス化し、適切なメソッドを呼び出しなさい。
        // 1: メソッドの引数には、問②で作成したローカル変数を使用すること。
        void show() {
            System.out.println("私の名前は" + name + "です！。");
        }
    
        void showAnimal() {
            System.out.println("こから、私のペットを紹介します！");
            Animal animal = new Animal();
        }
    
        // 問④ 以下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) + "です");
        }
      }
    }
    
[/code]

【任意の動物クラスメソッド】

[code]

    package animal;
    
    // 問⑥ 以下の条件で、任意の動物クラスを作成しなさい。
    // - 1: 対象の動物は、backlogの【動物と鳴き声の一覧】を参考とすること
    // - 2: Animalを継承すること
    
    public class 任意の動物クラス名 {
    
        public void Animal() {
            super();
        }
    
        public void Animal(String name, int age) {
            super(name, age);
        }
    
    ⇩
    
    public class 任意の動物クラス名 extends Animal {
    
        public 任意の動物クラス名(String name, int age) {
            super(name, age);
        }
    
        public class dog extends Animal {
    
            public dog(String name, int age) {
                super(name, age);
            }
    
        // 問⑦ 以下の条件で、当該クラスに合う動物の鳴き声をコンソールへ出力するメソッドを作成しなさい。
        // - 1: 対象の動物の鳴き声は、backlogの【動物と鳴き声の一覧】を参考とすること
        // - 2. アクセス修飾子 = protected
        // - 3. 引数 = なし
        // - 4. 戻り値 = なし
        class Dog extends Animal {
            public void bark() {
                System.out.println("わんわん！");
            }
        }
    }
    
    
[/code]

【アニマルメソッド】

[code]

    package animal;
    
    import java.text.SimpleDateFormat;
    
    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日後」の日付を表示しなさい
            SimpleDateFormat sdf = new SimpleDateFormat("ここへ日付のフォーマットを記述");
            System.out.println(sdf.format(calendar.getTime()) + "で" + this.getAge() + "歳になります！");
        }
    }
    
    
[/code]


CC BY-SA 4.0
2022-10-16T05:48:44.647
91625
2022-10-23T14:22:11.097
2022-10-19T11:12:56.303
54869
54869
question
java
Javaのメソッドに関する質問です。 以下の書き方を教えてください。


実行環境：paiza.io  
※paiza.ioに合わせた書き方になっている可能性があります。

Main.java

[code]

    import java.util.*;
    
    public class Main {
    
        public static void main(String[] args) {
    
            // 問1 下部の問④のメソッドを作成後、自身の姓名を引数にセットしなさい
            // Main.printMyName("山田", "太郎");
    
            // 問2 以下の変数に適切な値を格納しなさい。
            String name = "ポチ";
            int age = 7;
            
            show(fullName("山田", "太郎"));
            showAnimal(name, age);
        }
        
        // 問3 以下の条件で、任意の動物クラスをインスタンス化し、適切なメソッドを呼び出しなさい。
        // 1: メソッドの引数には、問2で作成したローカル変数を使用すること。
        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();
        }
    
        // 問4 以下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;
        }
    }
    
[/code]

Animal.java

[code]

    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日後」の日付を表示しなさい
            Calendar calendar = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
            System.out.println(sdf.format(calendar.getTime()) + "で" + this.getAge() + "歳になります！");
        }
        
        protected void bark() {}
    }
    
[/code]

Dog.java

[code]

    // 問7 以下の条件で、当該クラスに合う動物の鳴き声をコンソールへ出力するメソッドを作成しなさい。
    // - 1: 対象の動物の鳴き声は、backlogの【動物と鳴き声の一覧】を参考とすること
    // - 2. アクセス修飾子 = protected
    // - 3. 引数 = なし
    // - 4. 戻り値 = なし
    public class Dog extends Animal {
        
        public Dog(String name, int age) {
            super(name, age);
        }
        
        protected void bark() {
            System.out.println("わんわん！");
        }
    }
    
[/code]

出力結果

[code]

    私の名前は山田 太郎です！
    これから、私のペットを紹介します！
    名前は、ポチです！
    2022/10/16で7歳になります！
    わんわん！
    
[/code]

* * *

Main.javaを修正しました。

[code]

    import java.util.*;
    
    public class Main {
    
        public static void main(String[] args) {
    
            // 問1 下部の問④のメソッドを作成後、自身の姓名を引数にセットしなさい
            // Main.printMyName("太郎", "山田");
    
            // 問2 以下の変数に適切な値を格納しなさい。
            String name = "ポチ";
            int age = 7;
            
            printMyName("山田", "太郎", name, age);
        }
        
        // 問3 以下の条件で、任意の動物クラスをインスタンス化し、適切なメソッドを呼び出しなさい。
        // 1: メソッドの引数には、問2で作成したローカル変数を使用すること。
        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();
        }
    
        // 問4 以下1〜3の条件で、自身の名前とペットを紹介する旨の内容をコンソールへ出力する printMyName メソッドを作成しなさい。
        //
        // - 1. アクセス修飾子 = private
        // - 2. 引数:
        // - 2-1. 姓（セイ）
        // - 2-2. 名（メイ）
        // - 3. 戻り値 = なし
        private static void printMyName(String firstName, String lastName, String petName, int petAge) {
            System.out.println("名前は" + fullName(firstName, lastName) + "です!");
            showAnimal(petName, petAge);
        }
        
        private static String fullName(String firstName, String lastName) {
            return firstName + " " + lastName;
        }
    }
    
[/code]


CC BY-SA 4.0
2022-10-16T10:38:22.193
91629
2022-10-23T14:22:11.097
2022-10-23T14:22:11.097
39819
39819
91625
answer