回答編集履歴

3

追記

2017/07/19 14:39

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -36,9 +36,13 @@
36
36
 
37
37
  ---
38
38
 
39
- メソッドを使えば値の変化に悩むことはなくなりますよ。
39
+ メソッドを使えば値の変化に悩むことはなくなりますよ。メソッド外部へのアクセスは、
40
40
 
41
41
  ```Java
42
+
43
+ private ArrayList<Integer> numSeries = new ArrayList<Integer>();
44
+
45
+
42
46
 
43
47
  private void computeSeries(int workNumerator, int workDenominator) {
44
48
 
@@ -46,7 +50,7 @@
46
50
 
47
51
 
48
52
 
49
- numSeries.add(workNumerator/workDenominator);
53
+ numSeries.add(workNumerator/workDenominator); // ここと、
50
54
 
51
55
  while((surplus = workNumerator % workDenominator) > 0) {
52
56
 
@@ -54,7 +58,9 @@
54
58
 
55
59
  workDenominator = surplus;
56
60
 
61
+
62
+
57
- numSeries.add(workNumerator/workDenominator);
63
+ numSeries.add(workNumerator/workDenominator); // ここだけ
58
64
 
59
65
  }
60
66
 
@@ -67,6 +73,8 @@
67
73
  変に横文字を使おうとして可読性が落ちているのはご愛嬌。
68
74
 
69
75
 
76
+
77
+ ---
70
78
 
71
79
  連分数の出力は他のメソッドで行った方がスマートです。
72
80
 

2

もっとリファクタ

2017/07/19 14:39

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -65,3 +65,33 @@
65
65
 
66
66
 
67
67
  変に横文字を使おうとして可読性が落ちているのはご愛嬌。
68
+
69
+
70
+
71
+ 連分数の出力は他のメソッドで行った方がスマートです。
72
+
73
+ 見た目にこだわるなら、こんな感じですかね。
74
+
75
+ ```Java
76
+
77
+ public void printNumSeries() {
78
+
79
+ if(numSeries.isEmpty()) return;
80
+
81
+
82
+
83
+ System.out.print("[" + numSeries.get(0) + "; ");
84
+
85
+ for(int num: numSeries.subList(1, numSeries.size()-1)) {
86
+
87
+ System.out.print(num + ", ");
88
+
89
+ }
90
+
91
+ System.out.println(numSeries.get(numSeries.size()-1) + "]");
92
+
93
+ }
94
+
95
+ ```
96
+
97
+

1

追記

2017/07/19 14:36

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -29,3 +29,39 @@
29
29
  }
30
30
 
31
31
  ```
32
+
33
+
34
+
35
+ リファクタリング
36
+
37
+ ---
38
+
39
+ メソッドを使えば値の変化に悩むことはなくなりますよ。
40
+
41
+ ```Java
42
+
43
+ private void computeSeries(int workNumerator, int workDenominator) {
44
+
45
+ int surplus;
46
+
47
+
48
+
49
+ numSeries.add(workNumerator/workDenominator);
50
+
51
+ while((surplus = workNumerator % workDenominator) > 0) {
52
+
53
+ workNumerator = workDenominator;
54
+
55
+ workDenominator = surplus;
56
+
57
+ numSeries.add(workNumerator/workDenominator);
58
+
59
+ }
60
+
61
+ }
62
+
63
+ ```
64
+
65
+
66
+
67
+ 変に横文字を使おうとして可読性が落ちているのはご愛嬌。