如何使用Java将3*3矩阵转换为以下格式的9*3矩阵?

如何使用Java将3*3矩阵转换为以下格式的9*3矩阵?,java,arrays,Java,Arrays,任何人都可以帮助我解决下面给出的要求。这里需要将3*3矩阵转换为9*3矩阵,格式如下。谢谢 /* input int[][] intArray = {{3, 2, 1}, {4, 5, 6},{8, 7, 9}}; * output :- int[][] dataArray = new int[9][3]; * * int[][] dataArray = [[0,0,3],[0,1,2],[0,2,1],[1,0,4],[1,1,5],[1,2,6],[2

任何人都可以帮助我解决下面给出的要求。这里需要将3*3矩阵转换为9*3矩阵,格式如下。谢谢

    /* input int[][] intArray = {{3, 2, 1}, {4, 5, 6},{8, 7, 9}};
     * output :- int[][] dataArray = new int[9][3];
     * 
     * int[][] dataArray = [[0,0,3],[0,1,2],[0,2,1],[1,0,4],[1,1,5],[1,2,6],[2,0,8],[2,1,7],[2,2,9]];
     */

    int[][] dataArray = new int[9][3];

    for(int i=0;i<dataArray.length;i++){
        for(int j=0;j<dataArray[0].length;j++){
    //      dataArray[i][j] =   ;
        }
    }

您可以尝试以下代码:

    public static void main(String[] args) {

        int[][] input = {{3, 2, 1}, {4, 5, 6},{8, 7, 9}};

        int[][] output = new int[9][3];

        for(int i = 0; i < input.length; ++i) {
            for(int j = 0; j < input[i].length; ++j) {
                output[3*i+j][0] = i;
                output[3*i+j][1] = j;
                output[3*i+j][2] = input[i][j];
            }
        }

        for(int i = 0; i < output.length; ++i) {
            for(int j = 0; j < output[i].length; ++j) {
                System.out.print(output[i][j] + " ");
            }
            System.out.println();
        }
    }
这将按您希望的方式填充阵列。输出为:

03

0112

0 2 1

104

1 15

1 2 6

208

21 7


2 2 9

是否有规则告诉您9x3数组的元素应该是什么如何将包含9个值的3*3矩阵映射为包含27个值的9*3矩阵?至少,解释转换规则或转换目的。至少,请展示你已经尝试过的。谢谢它满足我的要求。我很高兴我能帮上忙。如果您能将此答案标记为正确且有用的答案,那就太好了。