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}};

10多年的新安網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都營銷網站建設的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整新安建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯從事“新安網站設計”,“新安網站推廣”以來,每個客戶項目都認真落實執行。
int b[][] = new int [4][7];
for (int i = 0; i 4; i++) {
for (int j = 0; j 7; j++) {
b[i][j] = a[j][i];
}
}
System.out.println("矩陣a:");
for (int i = 0; i 7; i++) {
for (int j = 0; j 4; j++) {
if (j 3) {
System.out.print(a[i][j] + " ");
} else {
System.out.println(a[i][j] + " ");
}
}
}
System.out.println("矩陣a轉置:");
for (int i = 0; i 4; i++) {
for (int j = 0; j 7; j++) {
if (j 6) {
System.out.print(b[i][j] + " ");
} else {
System.out.println(b[i][j] + " ");
}
}
}
代碼寫得爛不要噴我,我想解決思路就是這樣吧!
你的轉置意思是 行列交換?
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;
}
這個方法轉置的是對象矩陣,因此不能傳入基本變量的數組,需要用類型包裝器包裝。
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里的一段驗證程序,程序最前面需要
import java.util.*;
借花獻佛
/**
*?實現二維數組的轉置
*?@author?HAN
*
*/
public?class?transposition_Arrays2D_ch6_4?{
final?static?double?PI=3.1415;
public?static?void?main(String[]?args)?{
/*StaticTest?st1=new?StaticTest();
StaticTest?st2=new?StaticTest();
st1.method2("HAN");*/
/*****定義要用于轉置的二維數組*******/
int?arr2D[][]={{1,2,3},{4,5,6},{7,8,9}};
/*****構造結果新二維數組用于存放轉置結果*******/
/*定義結果數組變量,注意?一定要先開辟一個內存,
否則只是地址傳遞,也就是說兩個數組名實際上指向的是同一塊內存*/
//而構造二維數組可以為維度來進行,不一定是一個矩陣,即每一行的長度不一定相同
int?result_arr[][]=new?int[arr2D.length][];//先實現第一維
for(int?i=0?;?iarr2D.length;i++){?//再實現第二維
result_arr[i]=new?int[arr2D[i].length];
}
// int?result_arr[][]=Arrays.copyOf(arr2D,?arr2D.length);
//上面這個命令行行不通!
/*****輸出用于轉置的二維數組*******/
for?(int?x[]:arr2D){
for(int?e:x){
System.out.print(e+"?");
}
System.out.println();
}
System.out.println();
/*******進行元素倒置******/
for(int?i=0?;?iarr2D.length;i++){
for(int?j=0;?jarr2D[i].length;j++){
result_arr[j][i]=arr2D[i][j];?//轉置核心
}
}
/*****show?the?result?in?the?result?matrix*******/
for?(int?x[]:result_arr){
for(int?e:x){
System.out.print(e+"?");
}
System.out.println();
}
}
}
//import?java.util.Arrays;
//public?class?transposition_Arrays2D?{
//
// public?static?void?main(String[]?args)?{
// int?arr2D[][]={{1,2,3},{4,5,6},{7,8,9}};
// /*定義結果數組變量,注意?一定要先開辟一個內存,
// 否則只是地址傳遞,也就是說兩個數組名實際上指向的是同一塊內存*/
// int?result_arr[][]=new?int[arr2D.length][];
// for(int?i=0?;?iarr2D.length;i++){
// result_arr[i]=new?int[arr2D[i].length];
// }
//
//????????//?進行元素倒置
//????????for(int?i=0?;?iarr2D.length;i++){
//???????? for(int?j=0;?jarr2D[i].length;j++){
//???????? result_arr[j][i]=arr2D[i][j];
//???????? }
//????????}
//????????
//????????//?show?the?result?in?matrix
//????????for?(int?x[]:result_arr){
//???????? for(int?e:x){
//???????? System.out.print(e);
//???????? }
//???????? System.out.println();
//????????}
//????????
// }
//
//}
新聞標題:java轉置矩陣的代碼 矩陣轉置程序代碼
路徑分享:http://www.yijiale78.com/article12/ddgchdc.html
成都網站建設公司_創新互聯,為您提供建站公司、手機網站建設、微信公眾號、軟件開發、電子商務、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯