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

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

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

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

Q&A

0回答

1437閲覧

インタフェースを用いたプログラムをつくっています。

pumpkin1031

総合スコア30

Java

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

0グッド

0クリップ

投稿2019/09/24 13:10

前提・実現したいこと

人間と犬を生成し、実行例のように動作するプログラムをつくっています。
コンパイルできて実行結果を表示したいです。

生している問題・エラーメッセージ

コンパイルができません。

エラーメッセージ↓

Behave.java:6: エラー: シンボルを見つけられません
h1.play(h1.behaviortype.Walking);
^
シンボル: メソッド play(Behaviortype)
場所: タイプHumanの変数 h1
Behave.java:7: エラー: シンボルを見つけられません
d1.play(d1.behaviortype.Walking);
^
シンボル: メソッド play(Behaviortype)
場所: タイプDogの変数 d1
Behave.java:8: エラー: シンボルを見つけられません
h1.play(h1.behaviortype.Talking);
^
シンボル: メソッド play(Behaviortype)
場所: タイプHumanの変数 h1
Behave.java:9: エラー: シンボルを見つけられません
d1.play(d1.behaviortype.Barking);
^
シンボル: メソッド play(Behaviortype)
場所: タイプDogの変数 d1
エラー4個

該当のソースコード

言語はJavaです。

【Behave】
class Behave{
public static void main(String[] args){
Human h1 = new Human("人間1");
Dog d1 = new Dog("犬1");

h1.play(h1.behaviortype.Walking);
d1.play(d1.behaviortype.Walking);
h1.play(h1.behaviortype.Talking);
d1.play(d1.behaviortype.Barking);
}
}

【Animal】
abstract class Animal{
String name;
Behaviortype behaviortype;
enum Behaviortype{
Walking,
Talking,
Barking
}
abstract public void behave(Behaviortype bt);
}

【Human】
class Human extends Animal implements Walker, Talker{
public Human(String n){
this.name = n;
}
@Override
public void behave(Behaviortype bt){
switch(bt){
case Walking:
walk();
break;
case Talking:
(4)talk();
break;
}
}
@Override
public void (5)walk(){
System.out.println(this.name+"が歩きます。");
}
@Override
public void (6)talk(){
System.out.println(this.name+"が話します。");
}
}

【Walker】
(7)interface Walker{
void walk();
}

【Talker】
(8)interface Talker{
void talk();
}

【Barker】
(9)interface Barker{
void bark();
}

【Dog】
class Dog (10)extends Animal (11)implements Walker, Barker{
public Dog(String n){
this.name = n;
}
@Override
public void behave(Behaviortype bt){
switch(bt){
case Walking:
(12)walk();
break;
case Barking:
(13)bark();
break;
}
}
@Override
public void (14)walk(){
System.out.println(this.name+"が歩きます。");
}
@Override
public void (15)bark(){
System.out.println(this.name+"が吠えます。");
}
}

試したこと

間違えてそうなところはコードを変えて試したりしました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

Zuishin

2019/09/24 13:17

Behave.java:6: エラー: シンボルを見つけられません h1.play(h1.behaviortype.Walking); ^ シンボル: メソッド play(Behaviortype) 場所: タイプHumanの変数 h1 シンボルを見つけられません。シンボルは play というメソッドです。場所は Human 型の変数 h1 です。 と、書いてあります。
退会済みユーザー

退会済みユーザー

2019/09/24 13:38

やたら(4)とか(5)とか入ってますけど何なんでしょう?
退会済みユーザー

退会済みユーザー

2019/09/24 13:40

というか、人に見てもらう書き方じゃないですし、 エラーに原因が書いてあるんだからそれを対処してください、としか今のところ言いようがないです。
BeatStar

2019/09/25 01:17

エラーメッセージすら読もうとしないなら、この業界、向いていないです。 まずはメッセージを読みましょうよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問