teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

階層のわかるスクショを載せました。

2021/06/18 09:01

投稿

K.M.PEANUTS
K.M.PEANUTS

スコア40

title CHANGED
File without changes
body CHANGED
@@ -89,4 +89,7 @@
89
89
  上記のコードで、Dog.java、Cat.java、Mammlals.Javaで「The declared package "animal" does not match the expected package ""」というエラーが出てきます。
90
90
  原因わかる方いたら教えてください。
91
91
  ちなみに、コンパイル段階ではなく、エディタに記述段階で波線が引かれてこのエラ〜メッセージが出てきます。
92
- Javaディレクトリの中にDog.java、Cat.java、Mammlals.Javaそしてzooディレクトリが入っていて、zooディレクトリの中にZoo.java、UpdateListener.javaが入っています。
92
+ Javaディレクトリの中にDog.java、Cat.java、Mammlals.Javaそしてzooディレクトリが入っていて、zooディレクトリの中にZoo.java、UpdateListener.javaが入っています。
93
+ ![イメージ説明](7dc78d988cdc1856dab59606631e58d5.png)
94
+ ![イメージ説明](3a90978b0a5a0f3221e6d2d3f5bdd3d1.png)
95
+ ![イメージ説明](d98a4d288d46f0452a1925dd57b08e99.png)

1

ソースコードを載せました。

2021/06/18 09:01

投稿

K.M.PEANUTS
K.M.PEANUTS

スコア40

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,92 @@
1
1
  ```java
2
+ import animal.*;
3
+ import animal.*;
4
+ import animal.zoo.Zoo;
5
+
6
+ public class Main {
7
+ public static void main (String[] args) {
8
+
9
+ Cat cat = new Cat();
10
+ Dog dog = new Dog();
11
+
12
+ Zoo zoo = new Zoo();
13
+ zoo.add(cat);
14
+ zoo.add(dog);
15
+ System.out.println(zoo.say());
16
+
17
+ }
18
+ }
19
+ ```
20
+ ```java
2
21
  package animal;
22
+
23
+ public class Cat extends Mammals {
24
+ public String say() {
25
+ return "Meow";
26
+ }
27
+ }
3
28
  ```
29
+ ```java
4
- The declared package "animal" does not match the expected package ""
30
+ package animal;
5
31
 
6
- このようにパッケージを書くと上記のようなエラーメッセージが表示されるのですが、何が原因なのか教えてください。
32
+ public class Dog extends Mammals {
33
+ public String say() {
34
+ return "Bow wow";
35
+ }
36
+ }
37
+
38
+ ```
39
+ ```java
40
+ package animal;
41
+
42
+ public abstract class Mammals {
43
+
44
+ public abstract String say();
45
+
46
+ public String sleep() {
47
+ return "Sleeping";
48
+ }
49
+ }
50
+ ```
51
+ ```java
52
+ package animal.zoo;
7
- このjavaファイルはanimalディレクトリに入っています。
53
+ import animal.Mammals;
54
+
55
+ public class Zoo {
56
+ Mammals[] mam = new Mammals[100];
57
+ int i = 0;
58
+ UpdateListener up;
59
+
60
+ public void add(Mammals m) {
61
+ mam[i] = m;
62
+ i++;
63
+ if(this.up != null)
64
+ up.update(m);
65
+ }
66
+
67
+ public String say() {
68
+ String says = "";
69
+ for(int j=0; j<i; j++) {
70
+ says += mam[j].say();
71
+ }
72
+ return says;
73
+ }
74
+
75
+ public void setUpdateListener(UpdateListener u) {
76
+ this.up = u;
77
+ }
78
+ }
79
+
80
+ ```
81
+ ```java
82
+ package animal.zoo;
83
+ import animal.Mammals;
84
+
85
+ public interface UpdateListener {
86
+ public void update(Mammals m);
87
+ }
88
+ ```
89
+ 上記のコードで、Dog.java、Cat.java、Mammlals.Javaで「The declared package "animal" does not match the expected package ""」というエラーが出てきます。
90
+ 原因わかる方いたら教えてください。
91
+ ちなみに、コンパイル段階ではなく、エディタに記述段階で波線が引かれてこのエラ〜メッセージが出てきます。
92
+ Javaディレクトリの中にDog.java、Cat.java、Mammlals.Javaそしてzooディレクトリが入っていて、zooディレクトリの中にZoo.java、UpdateListener.javaが入っています。