質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

323閲覧

cat5クラスでリストにインスタンスを格納した後、runメソッドの呼び出しがうまくいかない

ricki_ya

総合スコア2

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2022/05/13 09:00

public interface Animal5 { // runメソッド:引数無し戻り値無し void run(); }
public class Pet5 { // フィールド:年齢(int型) protected int age; // コンストラクタで年齢を初期化 public Pet5(int age) { this.age = age; } }
public class Cat5 extends Pet5 implements Animal5 { // フィールド:名前(String型) private String name; // コンストラクタで名前と年齢を初期化 public Cat5(int age, String name) { super(age); this.name = name; } // runメソッド: public void run() { if (age < 10) {    // 年齢が10未満の場合、「(年齢)才の(名前)は庭で駆け回っています。」と表示 System.out.println(age + "才の" + name + "は庭で駆け回っています。"); } else {    // それ以外は「(年齢)才の(名前)は歩いています。」と表示。 System.out.println(age + "才の" + name + "は歩いています。"); } } }
import java.util.ArrayList; import java.util.List; public class Cat5Main { //メインメソッド: public static void main(String[] args) { //Cat5クラスをインスタンス化(変数はAnimal5型にすること) //↑これを3回繰り返し、Cat5クラスインスタンスを3つ作成する。 Animal5 cat1 = new Cat5(1,"a"); Animal5 cat2 = new Cat5(2,"b"); Animal5 cat3 = new Cat5(3,"c"); // List<Animal5>型のオブジェクトにCat5クラスインスタンスをすべて格納する。 List<Animal5> list = new ArrayList<Animal5>(); list.add(cat1); list.add(cat2); list.add(cat3); //拡張for文を使用してCat5クラスインスタンスのrunメソッドを呼び出す。 for (Animal5 call : list) { run(call); } } }

Cat5クラスでリストにインスタンスを格納した後、runメソッドの呼び出しがうまくいきません。
どこを修正すれば正しく出力されますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ぱっと見、runメソッドの呼び出しで、エラーになっているように見えます。
Cat5Main.java(runの部分)を、以下のように変えると、動作はいかがでしょうか。

java

1//拡張for文を使用してCat5クラスインスタンスのrunメソッドを呼び出す。 2for (Animal5 call: list) { 3 call.run(); 4}

投稿2022/05/13 10:57

KT001

総合スコア611

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問