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

回答編集履歴

3

追記

2017/07/19 14:39

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -17,22 +17,26 @@
17
17
 
18
18
  リファクタリング
19
19
  ---
20
- メソッドを使えば値の変化に悩むことはなくなりますよ。
20
+ メソッドを使えば値の変化に悩むことはなくなりますよ。メソッド外部へのアクセスは、
21
21
  ```Java
22
+ private ArrayList<Integer> numSeries = new ArrayList<Integer>();
23
+
22
24
  private void computeSeries(int workNumerator, int workDenominator) {
23
25
  int surplus;
24
26
 
25
- numSeries.add(workNumerator/workDenominator);
27
+ numSeries.add(workNumerator/workDenominator); // ここと、
26
28
  while((surplus = workNumerator % workDenominator) > 0) {
27
29
  workNumerator = workDenominator;
28
30
  workDenominator = surplus;
31
+
29
- numSeries.add(workNumerator/workDenominator);
32
+ numSeries.add(workNumerator/workDenominator); // ここだけ
30
33
  }
31
34
  }
32
35
  ```
33
36
 
34
37
  変に横文字を使おうとして可読性が落ちているのはご愛嬌。
35
38
 
39
+ ---
36
40
  連分数の出力は他のメソッドで行った方がスマートです。
37
41
  見た目にこだわるなら、こんな感じですかね。
38
42
  ```Java

2

もっとリファクタ

2017/07/19 14:39

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -31,4 +31,18 @@
31
31
  }
32
32
  ```
33
33
 
34
- 変に横文字を使おうとして可読性が落ちているのはご愛嬌。
34
+ 変に横文字を使おうとして可読性が落ちているのはご愛嬌。
35
+
36
+ 連分数の出力は他のメソッドで行った方がスマートです。
37
+ 見た目にこだわるなら、こんな感じですかね。
38
+ ```Java
39
+ public void printNumSeries() {
40
+ if(numSeries.isEmpty()) return;
41
+
42
+ System.out.print("[" + numSeries.get(0) + "; ");
43
+ for(int num: numSeries.subList(1, numSeries.size()-1)) {
44
+ System.out.print(num + ", ");
45
+ }
46
+ System.out.println(numSeries.get(numSeries.size()-1) + "]");
47
+ }
48
+ ```

1

追記

2017/07/19 14:36

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -13,4 +13,22 @@
13
13
  System.out.print("," + r);
14
14
  a = a + 1;
15
15
  }
16
- ```
16
+ ```
17
+
18
+ リファクタリング
19
+ ---
20
+ メソッドを使えば値の変化に悩むことはなくなりますよ。
21
+ ```Java
22
+ private void computeSeries(int workNumerator, int workDenominator) {
23
+ int surplus;
24
+
25
+ numSeries.add(workNumerator/workDenominator);
26
+ while((surplus = workNumerator % workDenominator) > 0) {
27
+ workNumerator = workDenominator;
28
+ workDenominator = surplus;
29
+ numSeries.add(workNumerator/workDenominator);
30
+ }
31
+ }
32
+ ```
33
+
34
+ 変に横文字を使おうとして可読性が落ちているのはご愛嬌。