回答編集履歴
2
スペルミス
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
Circle newOuter = new Circle(outer.r * ratio);
|
18
18
|
|
19
|
-
return n
|
19
|
+
return new Donut(newInner, newOuter);
|
20
20
|
|
21
21
|
}
|
22
22
|
|
1
メソッドイメージ
test
CHANGED
@@ -3,3 +3,21 @@
|
|
3
3
|
おそらくやりたいことは、innerとouterのそれぞれの円の半径をratio倍した新しいDonutを返したいということですよね?
|
4
4
|
|
5
5
|
であれば、thisが持つinnerとouterの半径をratio倍した新たなCircleを作り、それらをDonutコンストラクタに渡して生成したDonutインスタンスを返すようにしなければならないのでは?現状、仮にコンパイルが通ったとしても無限に再帰するメソッドになります。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
Circleがどんなメンバを持っているかわからないのでイメージですが…
|
10
|
+
|
11
|
+
```java
|
12
|
+
|
13
|
+
Donut scale(double ratio){
|
14
|
+
|
15
|
+
Circle newInner = new Circle(inner.r * ratio);
|
16
|
+
|
17
|
+
Circle newOuter = new Circle(outer.r * ratio);
|
18
|
+
|
19
|
+
return nre Donut(newInner, newOuter);
|
20
|
+
|
21
|
+
}
|
22
|
+
|
23
|
+
```
|