回答編集履歴

2

スペルミス

2016/05/24 03:16

投稿

swordone
swordone

スコア20669

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  Circle newOuter = new Circle(outer.r * ratio);
18
18
 
19
- return nre Donut(newInner, newOuter);
19
+ return new Donut(newInner, newOuter);
20
20
 
21
21
  }
22
22
 

1

メソッドイメージ

2016/05/24 03:16

投稿

swordone
swordone

スコア20669

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
+ ```