回答編集履歴
1
コメントを読んで追記。
answer
CHANGED
@@ -14,4 +14,46 @@
|
|
14
14
|
|
15
15
|
の処理で java.lang.IndexOutOfBoundsException が発生しています。
|
16
16
|
|
17
|
-
業務ロジックが分からないのでこれ以上は、お答えしかねますが、参考になりますでしょうか?
|
17
|
+
業務ロジックが分からないのでこれ以上は、お答えしかねますが、参考になりますでしょうか?
|
18
|
+
|
19
|
+
【追記】
|
20
|
+
|
21
|
+
```java
|
22
|
+
public static int[] recalc(int H, int A, int B, int C, int D, int S) {
|
23
|
+
LinkedList<Integer> num = new LinkedList<Integer>();
|
24
|
+
if (!(H == 31))
|
25
|
+
num.add(H);
|
26
|
+
else if (!(A == 31))
|
27
|
+
num.add(A);
|
28
|
+
else if (!(B == 31))
|
29
|
+
num.add(B);
|
30
|
+
else if (!(C == 31))
|
31
|
+
num.add(C);
|
32
|
+
else if (!(D == 31))
|
33
|
+
num.add(D);
|
34
|
+
else if (!(S == 31))
|
35
|
+
num.add(S);
|
36
|
+
```
|
37
|
+
|
38
|
+
ここの if 文って、どれか一個のブロックが実行されるだけで必ず num の要素が1個になります。
|
39
|
+
|
40
|
+
多分、else でつなげず、以下のそれぞれ独立した if にした方が良いのでは?
|
41
|
+
|
42
|
+
```java
|
43
|
+
LinkedList<Integer> num = new LinkedList<Integer>();
|
44
|
+
if (!(H == 31))
|
45
|
+
num.add(H);
|
46
|
+
if (!(A == 31))
|
47
|
+
num.add(A);
|
48
|
+
if (!(B == 31))
|
49
|
+
num.add(B);
|
50
|
+
if (!(C == 31))
|
51
|
+
num.add(C);
|
52
|
+
if (!(D == 31))
|
53
|
+
num.add(D);
|
54
|
+
if (!(S == 31))
|
55
|
+
num.add(S);
|
56
|
+
num.remove(0);
|
57
|
+
```
|
58
|
+
|
59
|
+
目的が達成できるかは、別の話ですが。
|