[英]Copy a 1*9 array into a 3*3 array - Java
我正在尝试将一个 1 x 9 数组复制到一个 3 x 3 数组中。 我不确定为什么我的 output 只是在数组中移动的数字 1。 任何帮助将不胜感激。
public class arrayTest{
public static void main(String [] args)
{
int A [] = {1,2,3,4,5,6,7,8,9};
int B [][] = new int [3][3];
int i = 0, k, j;
for(k = 0; k < 3; k++)
for(j = 0; j < 3; j++ ){
B[k][j] = A[i];
k++;
}
for(k = 0; k < 3; k++)
{
for(j = 0; j< 3; j++)
System.out.print(B[k][j] + " ");
System.out.println();
}
}
}
您需要将循环计数器中的二维坐标转换为一维数组的索引:
int A [] = {1,2,3,4,5,6,7,8,9};
int B [][] = new int [3][3];
for (int k=0; k < 3; k++) {
for (int j=0; j < 3; j++) {
B[k][j] = A[k*3 + j];
}
}
System.out.println(Arrays.deepToString(B));
// [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.