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

回答編集履歴

2

セミコロンがなかった。

2019/08/19 06:59

投稿

tetutetu
tetutetu

スコア419

answer CHANGED
@@ -5,11 +5,11 @@
5
5
  配列に中かっこ {}←を用いて値を代入できるのは、宣言と同時に行う際のみになります。
6
6
  ```java
7
7
  //OK
8
- String[] hoge = {"hoge1","hoge2"...}
8
+ String[] hoge = {"hoge1","hoge2"...};
9
9
 
10
10
  //コンパイルエラー(変数定数は・・・)
11
11
  String[] fuga;
12
- fuga = {"fuga1","fuga2"...}
12
+ fuga = {"fuga1","fuga2"...};
13
13
  ```
14
14
  全体を見直さずに簡単に解決する方法としては
15
15
  if文の外で最終的に使いたい配列(今回ならばdata2)を定義(宣言のみ)

1

追記

2019/08/19 06:59

投稿

tetutetu
tetutetu

スコア419

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