int[] array = new int[9];
int[][] matrix = { {0,1,2},
{3,4,5},
{6,7,8}};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
array[i+j] = matrix[i][i];
}
}
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
私は{0,1,2,3,4,5,6,7,8,9}しかし、アウトプットは設定する[インデックス] =行列[インデックス] [その他インデックス]
00 01 02 43 44 45 86 87 88
ですこれはsodukuパズルを解決するために、単にサイドプロジェクトで、まだこの問題はいつも私を困惑しています。私は通常これを回避する方法を見つけようとしますが、なぜこれが機能していないのかを知りたいと思っています。
まず、 'matrix [i] [i];'は対角線の値を取得するだけなので、あなたが意図したものではありません。また、複数のターゲット配列値を複数回上書きしています。 – azurefrog
'array [i + j]'は 'array [4]'にしか到達しません。他のスロットにどのように値を取得できますか? – Gendarme
スドクは[0,9]からですか?私はいつも範囲[1、9]を見る –