質問編集履歴

2

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

2021/06/18 09:01

投稿

K.M.PEANUTS
K.M.PEANUTS

スコア40

test CHANGED
File without changes
test CHANGED
@@ -181,3 +181,9 @@
181
181
  ちなみに、コンパイル段階ではなく、エディタに記述段階で波線が引かれてこのエラ〜メッセージが出てきます。
182
182
 
183
183
  Javaディレクトリの中にDog.java、Cat.java、Mammlals.Javaそしてzooディレクトリが入っていて、zooディレクトリの中にZoo.java、UpdateListener.javaが入っています。
184
+
185
+ ![イメージ説明](7dc78d988cdc1856dab59606631e58d5.png)
186
+
187
+ ![イメージ説明](3a90978b0a5a0f3221e6d2d3f5bdd3d1.png)
188
+
189
+ ![イメージ説明](d98a4d288d46f0452a1925dd57b08e99.png)

1

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

2021/06/18 09:01

投稿

K.M.PEANUTS
K.M.PEANUTS

スコア40

test CHANGED
File without changes
test CHANGED
@@ -1,13 +1,183 @@
1
+ ```java
2
+
3
+ import animal.*;
4
+
5
+ import animal.*;
6
+
7
+ import animal.zoo.Zoo;
8
+
9
+
10
+
11
+ public class Main {
12
+
13
+ public static void main (String[] args) {
14
+
15
+
16
+
17
+ Cat cat = new Cat();
18
+
19
+ Dog dog = new Dog();
20
+
21
+
22
+
23
+ Zoo zoo = new Zoo();
24
+
25
+ zoo.add(cat);
26
+
27
+ zoo.add(dog);
28
+
29
+ System.out.println(zoo.say());
30
+
31
+
32
+
33
+ }
34
+
35
+ }
36
+
37
+ ```
38
+
1
39
  ```java
2
40
 
3
41
  package animal;
4
42
 
43
+
44
+
45
+ public class Cat extends Mammals {
46
+
47
+ public String say() {
48
+
49
+ return "Meow";
50
+
51
+ }
52
+
53
+ }
54
+
5
55
  ```
6
56
 
57
+ ```java
58
+
7
- The declared package "animal" does not match the expected package ""
59
+ package animal;
8
60
 
9
61
 
10
62
 
11
- このようにパッケージを書くと上記のようなエラーメッセージが表示されるのですが、何が原因なのか教えてください。
63
+ public class Dog extends Mammals {
12
64
 
65
+ public String say() {
66
+
67
+ return "Bow wow";
68
+
69
+ }
70
+
71
+ }
72
+
73
+
74
+
75
+ ```
76
+
77
+ ```java
78
+
79
+ package animal;
80
+
81
+
82
+
83
+ public abstract class Mammals {
84
+
85
+
86
+
87
+ public abstract String say();
88
+
89
+
90
+
91
+ public String sleep() {
92
+
93
+ return "Sleeping";
94
+
95
+ }
96
+
97
+ }
98
+
99
+ ```
100
+
101
+ ```java
102
+
103
+ package animal.zoo;
104
+
13
- このjavaファイルはanimalディレクトリに入っています。
105
+ import animal.Mammals;
106
+
107
+
108
+
109
+ public class Zoo {
110
+
111
+ Mammals[] mam = new Mammals[100];
112
+
113
+ int i = 0;
114
+
115
+ UpdateListener up;
116
+
117
+
118
+
119
+ public void add(Mammals m) {
120
+
121
+ mam[i] = m;
122
+
123
+ i++;
124
+
125
+ if(this.up != null)
126
+
127
+ up.update(m);
128
+
129
+ }
130
+
131
+
132
+
133
+ public String say() {
134
+
135
+ String says = "";
136
+
137
+ for(int j=0; j<i; j++) {
138
+
139
+ says += mam[j].say();
140
+
141
+ }
142
+
143
+ return says;
144
+
145
+ }
146
+
147
+
148
+
149
+ public void setUpdateListener(UpdateListener u) {
150
+
151
+ this.up = u;
152
+
153
+ }
154
+
155
+ }
156
+
157
+
158
+
159
+ ```
160
+
161
+ ```java
162
+
163
+ package animal.zoo;
164
+
165
+ import animal.Mammals;
166
+
167
+
168
+
169
+ public interface UpdateListener {
170
+
171
+ public void update(Mammals m);
172
+
173
+ }
174
+
175
+ ```
176
+
177
+ 上記のコードで、Dog.java、Cat.java、Mammlals.Javaで「The declared package "animal" does not match the expected package ""」というエラーが出てきます。
178
+
179
+ 原因わかる方いたら教えてください。
180
+
181
+ ちなみに、コンパイル段階ではなく、エディタに記述段階で波線が引かれてこのエラ〜メッセージが出てきます。
182
+
183
+ Javaディレクトリの中にDog.java、Cat.java、Mammlals.Javaそしてzooディレクトリが入っていて、zooディレクトリの中にZoo.java、UpdateListener.javaが入っています。