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

回答編集履歴

1

コメントを読んで追記。

2020/04/30 09:56

投稿

Yasumichi
Yasumichi

スコア1773

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
+ 目的が達成できるかは、別の話ですが。