导航:首页 > 编程语言 > java矩阵倒置

java矩阵倒置

发布时间:2023-07-31 07:34:10

java矩阵转置

你的转置意思是 行列交换?

public static Object[][] turnA(Object[][] a){
Object[][] b=new Object[a[0].length][a.length];
for(int i=0;i<a.length; i++)
for(int j=0;j<a[0].length;j++)
b[j][i]=a[i][j];
return b;
}

这个方法转置的是对象矩阵,因此不能传入基本变量的数组,需要用类型包装器包装。

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;j<i.length;j++){
Arrays.fill(i[j], r.nextInt(100));
System.out.println(Arrays.toString(i[j]));
}
Object[][] o=turnA(i);
for(int j=0;j<o.length;j++){
System.out.println(Arrays.toString(o[j]));

这是static void main里的一段验证程序,程序最前面需要
import java.util.*;

❷ 用java:利用二维数组,任意给出一个矩阵,编写实现矩阵转置的代码

借花献佛

/**
*实现二维数组的转置
*@authorHAN
*
*/
publicclasstransposition_Arrays2D_ch6_4{

finalstaticdoublePI=3.1415;
publicstaticvoidmain(String[]args){
/*StaticTestst1=newStaticTest();
StaticTestst2=newStaticTest();
st1.method2("HAN");*/

/*****定义要用于转置的二维数组*******/
intarr2D[][]={{1,2,3},{4,5,6},{7,8,9}};

/*****构造结果新二维数组用于存放转置结果*******/
/*定义结果数组变量,注意一定要先开辟一个内存,
否则只是地址传递,也就是说两个数组名实际上指向的是同一块内存*/
//而构造二维数组可以为维度来进行,不一定是一个矩阵,即每一行的长度不一定相同
intresult_arr[][]=newint[arr2D.length][];//先实现第一维
for(inti=0;i<arr2D.length;i++){//再实现第二维
result_arr[i]=newint[arr2D[i].length];
}

// intresult_arr[][]=Arrays.Of(arr2D,arr2D.length);
//上面这个命令行行不通!
/*****输出用于转置的二维数组*******/
for(intx[]:arr2D){
for(inte:x){
System.out.print(e+"");
}
System.out.println();
}
System.out.println();

/*******进行元素倒置******/
for(inti=0;i<arr2D.length;i++){
for(intj=0;j<arr2D[i].length;j++){
result_arr[j][i]=arr2D[i][j];//转置核心
}
}

/************/
for(intx[]:result_arr){
for(inte:x){
System.out.print(e+"");
}
System.out.println();
}

}

}


//importjava.util.Arrays;
//publicclasstransposition_Arrays2D{
//
// publicstaticvoidmain(String[]args){
// intarr2D[][]={{1,2,3},{4,5,6},{7,8,9}};
// /*定义结果数组变量,注意一定要先开辟一个内存,
// 否则只是地址传递,也就是说两个数组名实际上指向的是同一块内存*/
// intresult_arr[][]=newint[arr2D.length][];
// for(inti=0;i<arr2D.length;i++){
// result_arr[i]=newint[arr2D[i].length];
// }
//
////进行元素倒置
//for(inti=0;i<arr2D.length;i++){
// for(intj=0;j<arr2D[i].length;j++){
// result_arr[j][i]=arr2D[i][j];
// }
//}
//
////showtheresultinmatrix
//for(intx[]:result_arr){
// for(inte:x){
// System.out.print(e);
// }
// System.out.println();
//}
//
// }
//
//}

❸ java使矩阵转置

转置就是行列对换,把数组中的数据从[i][j]变成[j][i]就可以了。

publicclassT{
publicstaticintrow=10;
publicstaticintcol=20;
publicstaticvoidmain(Stringargv[])throwsException{
inta[][]=newint[row][col];
intb[][]=newint[col][row];
//补充A的数据
for(inti=0;i<row;i++)
for(intj=0;j<col;j++)
b[j][i]=a[i][j];
//显示B中的数据
}
}
阅读全文

与java矩阵倒置相关的资料

热点内容
word2010制作日历 浏览:491
为什么微信字显示不全 浏览:761
香港苹果官网怎么预定iphone 浏览:844
文件目录索引包括哪些 浏览:794
感情不要冷处理的微信个性签名 浏览:54
机器人怎么在电脑上编程 浏览:197
如何辨别购物的网站 浏览:13
喜欢编程吗喜欢什么语言 浏览:841
cad迷你看图软件怎么删除文件 浏览:267
看视频写文件格式 浏览:2
大数据平台怎么审绿 浏览:398
java打包教程 浏览:787
电脑有多少个文件夹 浏览:1
dnf86版本极限光强 浏览:974
国考资料分析哪里来的数据 浏览:87
文件拷贝到u盘以后md5变化 浏览:281
kali中pdf攻击文件生成 浏览:507
专利检索如何找到最接近对比文件 浏览:673
文件描述符inode 浏览:342
ps多边形套索工具抠图 浏览:957

友情链接