java代码矩阵转置 java旋转矩阵

如何用java编写一个矩阵的转置?int a[][] = {{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4}};
int b[][] = new int [4][7];
for (int i = 0; i4; i) {
for (int j = 0; j7; j) {
b[i][j] = a[j][i];
}
}
System.out.println("矩阵a:");
for (int i = 0; i7; i) {
for (int j = 0; j4; j) {
if (j3) {
System.out.print(a[i][j]" ");
} else {
System.out.println(a[i][j]" ");
}
}
【java代码矩阵转置 java旋转矩阵】}
System.out.println("矩阵a转置:");
for (int i = 0; i4; i) {
for (int j = 0; j7; j) {
if (j6) {
System.out.print(b[i][j]" ");
} else {
System.out.println(b[i][j]" ");
}
}
}
代码写得烂不要喷我,我想解决思路就是这样吧!
java矩阵转置你的转置意思是 行列交换?
public static Object[][] turnA(Object[][] a){
Object[][] b=new Object[a[0].length][a.length];
for(int i=0;ia.length;i)
for(int j=0;ja[0].length;j)
b[j][i]=a[i][j];
return b;
}
这个方法转置的是对象矩阵java代码矩阵转置,因此不能传入基本变量的数组java代码矩阵转置,需要用类型包装器包装 。
e.g:
Integer[][] i=new Integer[3][5];
//int[][] i=new int[4][3];
//Can't use here;Integer,Double,String,byte and so on..
Random r=new Random();
for(int j=0;ji.length;j){
Arrays.fill(i[j], r.nextInt(100));
System.out.println(Arrays.toString(i[j]));
}
Object[][] o=turnA(i);
for(int j=0;jo.length;j){
System.out.println(Arrays.toString(o[j]));
这是static void main里的一段验证程序java代码矩阵转置,程序最前面需要
import java.util.*;
java使矩阵转置转置就是行列对换,把数组中的数据从[i][j]变成[j][i]就可以了 。
public class T{
public static int row = 10;
public static int col = 20;
public static void main(String argv[]) throws Exception {
int a[][] = new int[row][col];
int b[][] = new int[col][row];
//补充A的数据
for (int i=0;irow;i)
for (int j=0;jcol;j)
b[j][i] = a[i][j];
//显示B中的数据
}
}
关于java代码矩阵转置和java旋转矩阵的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读