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

回答編集履歴

6

変数名をもう少しましなものに変更

2018/05/07 13:03

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -10,25 +10,25 @@
10
10
  難しく考えすぎな気もします。
11
11
  ```Java
12
12
  int n = 入力;
13
- int dst = 入力; // 暫定的に『ゼロに一番近い値』とみなす。
13
+ int result = 入力; // 暫定的に『ゼロに一番近い値』とみなす。
14
14
 
15
15
  for(n回繰り返す) {
16
- int src = 入力;
16
+ int num = 入力;
17
17
 
18
- srcdstの絶対値をそれぞれ計算;
18
+ numresultの絶対値をそれぞれ計算;
19
- if(srcの絶対値 < dstの絶対値) {
19
+ if(numの絶対値 < resultの絶対値) {
20
- dst = src;
20
+ result = num;
21
21
  }
22
- else if(srcの絶対値 > dstの絶対値) {
22
+ else if(numの絶対値 > resultの絶対値) {
23
23
  // 更新は不要
24
24
  }
25
25
  else {
26
- dst = srcdstのうち大きい方;
26
+ result = numresultのうち大きい方;
27
27
  }
28
28
  }
29
29
  ```
30
30
 
31
- 変数名が真っ適当ですが、悪しからず。
31
+ 変数名が適当ですが、悪しからず。
32
32
 
33
33
  さらに
34
34
  ---
@@ -36,16 +36,21 @@
36
36
  ```Java
37
37
  // 絶対値がゼロに近い方を返す。絶対値が同じ場合正の数を返す。
38
38
  static int getNearlyZero(int a, int b) {
39
- // 実装はほんど同じ
39
+ aの絶対値bの絶対値をそれぞれ計算;
40
+
41
+ if(aの絶対値 < bの絶対値) return a;
42
+ if(aの絶対値 > bの絶対値) return b;
43
+
44
+ return aとbのうち大きい方;
40
45
  }
41
46
 
42
47
  public static void main(String[] args) {
43
48
  ...
44
49
 
45
- int dst = ...;
50
+ int result = ...;
46
51
  for(...) {
47
- int src = ...;
52
+ int num = ...;
48
- dst = getNearlyZero(dst, src);
53
+ result = getNearlyZero(result, num);
49
54
  }
50
55
  }
51
56
  ```

5

修正

2018/05/07 13:03

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -17,10 +17,10 @@
17
17
 
18
18
  srcとdstの絶対値をそれぞれ計算;
19
19
  if(srcの絶対値 < dstの絶対値) {
20
- dst = src;
20
+ dst = src;
21
21
  }
22
22
  else if(srcの絶対値 > dstの絶対値) {
23
- // 更新は不要
23
+ // 更新は不要
24
24
  }
25
25
  else {
26
26
  dst = srcとdstのうち大きい方;

4

見づらいので、タイトルを付けた

2018/05/07 11:55

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -5,6 +5,7 @@
5
5
 
6
6
  ここで`Minus.size() * -1`をanswerに放り込んでいるのが直接的原因では。
7
7
 
8
+ そもそも
8
9
  ---
9
10
  難しく考えすぎな気もします。
10
11
  ```Java
@@ -29,6 +30,7 @@
29
30
 
30
31
  変数名が真っ適当ですが、悪しからず。
31
32
 
33
+ さらに
32
34
  ---
33
35
  メソッドを利用するともっと簡潔です。
34
36
  ```Java

3

追記

2018/05/07 11:43

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -27,4 +27,23 @@
27
27
  }
28
28
  ```
29
29
 
30
- 変数名が真っ適当ですが、悪しからず。
30
+ 変数名が真っ適当ですが、悪しからず。
31
+
32
+ ---
33
+ メソッドを利用するともっと簡潔です。
34
+ ```Java
35
+ // 絶対値がゼロに近い方を返す。絶対値が同じ場合正の数を返す。
36
+ static int getNearlyZero(int a, int b) {
37
+ // 実装はほとんど同じ
38
+ }
39
+
40
+ public static void main(String[] args) {
41
+ ...
42
+
43
+ int dst = ...;
44
+ for(...) {
45
+ int src = ...;
46
+ dst = getNearlyZero(dst, src);
47
+ }
48
+ }
49
+ ```

2

追記

2018/05/07 11:40

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -25,4 +25,6 @@
25
25
  dst = srcとdstのうち大きい方;
26
26
  }
27
27
  }
28
- ```
28
+ ```
29
+
30
+ 変数名が真っ適当ですが、悪しからず。

1

追記

2018/05/07 11:31

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -3,4 +3,26 @@
3
3
  answer =Minus.size()*-1;
4
4
  > ```
5
5
 
6
- ここで`Minus.size() * -1`をanswerに放り込んでいるのが直接的原因では。
6
+ ここで`Minus.size() * -1`をanswerに放り込んでいるのが直接的原因では。
7
+
8
+ ---
9
+ 難しく考えすぎな気もします。
10
+ ```Java
11
+ int n = 入力;
12
+ int dst = 入力; // 暫定的に『ゼロに一番近い値』とみなす。
13
+
14
+ for(n回繰り返す) {
15
+ int src = 入力;
16
+
17
+ srcとdstの絶対値をそれぞれ計算;
18
+ if(srcの絶対値 < dstの絶対値) {
19
+ dst = src;
20
+ }
21
+ else if(srcの絶対値 > dstの絶対値) {
22
+ // 更新は不要
23
+ }
24
+ else {
25
+ dst = srcとdstのうち大きい方;
26
+ }
27
+ }
28
+ ```