導航:首頁 > 編程語言 > 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矩陣倒置相關的資料

熱點內容
cad文件為什麼顯示文件名是否正確 瀏覽:174
程序配置文件能自動轉換成txt 瀏覽:985
r4燒錄卡不同版本 瀏覽:962
怎麼升級qq群為2000 瀏覽:347
微信己冊除的文件怎樣找回來 瀏覽:715
蘋果美國賬號共享2017 瀏覽:252
ps文件修改後打開還是原圖 瀏覽:220
燒卡機蘋果4微信qq哪裡下載 瀏覽:780
ug120找不到指定文件 瀏覽:522
cda文件怎麼轉換成mp3格式 瀏覽:702
青島hpv疫苗在哪個app預約 瀏覽:881
雙十一成交額2021數據在哪裡看 瀏覽:631
蘋果手機怎麼打開移動數據 瀏覽:637
文件掃描成圖片是彩色的嗎 瀏覽:50
編程里的comply什麼意思 瀏覽:91
電腦上面點了禁用網路怎麼改回來 瀏覽:28
javacatch執行 瀏覽:182
ps軟體文件名字 瀏覽:184
黑蘋果查找文件路徑 瀏覽:397
現在編程都有哪些語言 瀏覽:360

友情鏈接