1. ホーム
  2. java

[解決済み] Javaでの多次元配列の初期化

2023-07-09 18:57:23

質問

多次元配列を宣言し、それに値を割り当てる正しい方法は何ですか?

これは私が持っているものです。

int x = 5;
int y = 5;

String[][] myStringArray = new String [x][y];

myStringArray[0][x] = "a string";
myStringArray[0][y] = "another string";

どのように解決するのですか?

該当する行を置き換えてみてください。

myStringArray[0][x-1] = "a string";
myStringArray[0][y-1] = "another string";

サブ配列の長さが y であり、インデックス付けは 0 から始まるため、サブ配列の長さを myStringArray[0][y] または myStringArray[0][x] は失敗します。 xy は範囲外です。

String[][] myStringArray = new String [x][y]; は、長方形の多次元配列を初期化する正しい方法です。もしギザギザにしたいのなら(それぞれの部分配列は異なる長さを持つ可能性があります)、次のようなコードを使用することができます。 この答え . しかし、完全に長方形の多次元配列が欲しい場合、手動で部分配列を作成する必要があるというJohnの主張は間違っていることに注意してください。