配列を次のように初期化しています:
public class Array {
int data[] = new int[10];
/** Creates a new instance of Array */
public Array() {
data[10] = {10,20,30,40,50,60,71,80,90,91};
}
}
NetBeans は次の行でエラーを指摘します:
data[10] = {10,20,30,40,50,60,71,80,90,91};
どうすれば問題を解決できますか?
ベストアンサー1
data[10] = {10,20,30,40,50,60,71,80,90,91};
data[10]
上記は正しくありません (構文エラー)。これは、要素のみを保持できる配列を割り当てていることを意味します。
配列を初期化したい場合は、配列初期化子:
int[] data = {10,20,30,40,50,60,71,80,90,91};
// or
int[] data;
data = new int[] {10,20,30,40,50,60,71,80,90,91};
2 つの宣言の違いに注意してください。宣言された変数に新しい配列を割り当てる場合は、new
を使用する必要があります。
構文を修正しても、アクセスは依然として正しくありません( Javaの配列のインデックスは0から始まるため、にdata[10]
しかアクセスできません)。アクセスすると、data[0]
data[9]
data[10]
配列インデックス範囲外例外。