2次元配列の列をメソッド呼び出しに渡したいだけです。私は行ごとに2 d行を渡す方法を知っています。それは、aが2次元配列として定義されていることを覚えておいて、2次元配列の列をJavaのパラメータとして渡す
Check(a[i],9);
です。私は、これはエラーになります
Check(a[i][],9);
おかげ
2次元配列の列をメソッド呼び出しに渡したいだけです。私は行ごとに2 d行を渡す方法を知っています。それは、aが2次元配列として定義されていることを覚えておいて、2次元配列の列をJavaのパラメータとして渡す
Check(a[i],9);
です。私は、これはエラーになります
Check(a[i][],9);
おかげ
このようにして、少なくともJavaではなく、2次元配列の '列'にアクセスすることはできません。行を手動で繰り返し、必要な列の値を選択する必要があります。
を行うときには、明示的に配列を作成せずにこれを行うことはできません...行でその行を行う方法はないかわからないしかし
と元の行列要素から要素ごとコピーします。
私はあなたの質問を正しく理解していますが、私はあなたに2番目のループがないと思います。
for(int i = 0; i < a.length; i++)
{
for(int j = 0; j < a[i].length; j++)
{
cellAtRowIColumnJ(a[i][j], 9) //what is the 9 for?
}
}
あなたも、これはコンパイルする場合知らないこの(わからない)が必要かもしれないが、アイデアは新しい配列に列の値をコピーして、2次元配列は行列ではありません
int[] cols = new int[a.length];
for(int i = 0; i < a.length; i++)
{
cols[i] = a[i][9];
}
callWithColumns(cols);
ことを渡すことです。配列の配列のように動作します。
int a[][];
for (int b[] : a)
for (int c : b)
System.out.print(c);
あなたが探しているように見えるのは、内部配列のそれぞれの最初の要素からなる配列で、自動的にアクセスすることはできません。新しい配列を作成する必要があります。
int temp[] = new int[a.length];
for (int x = 0; x < temp.length; x++)
temp[x] = a[x][0];
私はあなたがそうしてから、それを渡すようにその配列を作成する必要があると思います:
int column = 0; // column you want to get
int[] col = new int[a.length];
for(int i = 0; i < a.length; i++) {
col[i] = a[i][column];
}
// col is now what you want to pass.
Check(col, 9);