如何使用Java将3*3矩阵转换为以下格式的9*3矩阵?
任何人都可以帮助我解决下面给出的要求。这里需要将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
/* 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矩阵?至少,解释转换规则或转换目的。至少,请展示你已经尝试过的。谢谢它满足我的要求。我很高兴我能帮上忙。如果您能将此答案标记为正确且有用的答案,那就太好了。