回答編集履歴

2

セミコロンがなかった。

2019/08/19 06:59

投稿

tetutetu
tetutetu

スコア419

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  //OK
14
14
 
15
- String[] hoge = {"hoge1","hoge2"...}
15
+ String[] hoge = {"hoge1","hoge2"...};
16
16
 
17
17
 
18
18
 
@@ -20,7 +20,7 @@
20
20
 
21
21
  String[] fuga;
22
22
 
23
- fuga = {"fuga1","fuga2"...}
23
+ fuga = {"fuga1","fuga2"...};
24
24
 
25
25
  ```
26
26
 

1

追記

2019/08/19 06:59

投稿

tetutetu
tetutetu

スコア419

test CHANGED
@@ -1,3 +1,41 @@
1
+ ### 追記
2
+
3
+
4
+
5
+ >変数定数はイニシャライザーにおいてのみ使用可能です
6
+
7
+
8
+
9
+ 配列に中かっこ {}←を用いて値を代入できるのは、宣言と同時に行う際のみになります。
10
+
11
+ ```java
12
+
13
+ //OK
14
+
15
+ String[] hoge = {"hoge1","hoge2"...}
16
+
17
+
18
+
19
+ //コンパイルエラー(変数定数は・・・)
20
+
21
+ String[] fuga;
22
+
23
+ fuga = {"fuga1","fuga2"...}
24
+
25
+ ```
26
+
27
+ 全体を見直さずに簡単に解決する方法としては
28
+
29
+ if文の外で最終的に使いたい配列(今回ならばdata2)を定義(宣言のみ)
30
+
31
+ if文内で実際の中身をdata3(一例)として定義、中身を入れる
32
+
33
+ 最後にdata2 = data3としてみてはどうでしょう。とりあえずエラーは消えるかと。
34
+
35
+
36
+
37
+
38
+
1
39
  > for文内のdata2とif文内のdata2が別物の扱いを受ける
2
40
 
3
41