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

回答編集履歴

1

プログラム変更

2019/12/15 05:22

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -19,6 +19,11 @@
19
19
  times = 0;
20
20
  }
21
21
 
22
+ protected void setValue(double value) {
23
+ this.value = value;
24
+ this.times++;
25
+ }
26
+
22
27
  public double getValue() {
23
28
  return value;
24
29
  }
@@ -28,23 +33,19 @@
28
33
  }
29
34
 
30
35
  public void plus(double x) {
31
- value += x;
36
+ setValue(value + x);
32
- times++;
33
37
  }
34
38
 
35
39
  public void minus(double x) {
36
- value -= x;
40
+ setValue(value - x);
37
- times++;
38
41
  }
39
42
 
40
43
  public void multiplied(double x) {
41
- value *= x;
44
+ setValue(value * x);
42
- times++;
43
45
  }
44
46
 
45
47
  public void divided(double x) {
46
- value /= x;
48
+ setValue(value / x);
47
- times++;
48
49
  }
49
50
  }
50
51
 
@@ -58,13 +59,14 @@
58
59
  }
59
60
 
60
61
  public void plus(double x, int n) {
61
- plus(x*n);
62
+ setValue(getValue() + x * n);
62
63
  }
63
64
 
64
65
  public void multiplied(double x, int n) {
66
+ double value = getValue();
65
- for(int i=0; i<n; i++) {
67
+ for(int i=0; i<n; i++)
68
+ value *= x;
66
- multiplied(x);
69
+ setValue(value);
67
- }
68
70
  }
69
71
  }
70
72