int[] を行列に変換するにはどうすればよいですか?
6x6 行列を作成したいとしましょう。36 要素の int[] 配列があります。したがって、00 エントリは配列の 0 番目の要素、01: 1 要素、02: 2 番目の要素などです。
int[] を行列に変換するにはどうすればよいですか?
6x6 行列を作成したいとしましょう。36 要素の int[] 配列があります。したがって、00 エントリは配列の 0 番目の要素、01: 1 要素、02: 2 番目の要素などです。
どうですか:
int[] ints = new int[36];
// fill with values
int[][] matrix = new int[6][6];
for (int i = 0; i < ints.length; i++) {
matrix[i / 6][i % 6] = ints[i];
}
これが機能する理由を理解しやすくするために、ループ内に次を追加します。
System.out.println("i = " + i + "; i / 6 = " + (i / 6) + "; i % 6 = " + (i % 6) + ";");
for(int i = 0; i < 6; i++)
for(int j = 0; j < 6; j++)
matrix[i][j] = vector[i * 6 + j];