你這個的程序,只能成功運行 n*n的情況,也就是行數和列數相等的二維數組才能成功。

創(chuàng)新互聯(lián)建站網站建設服務商,為中小企業(yè)提供成都網站設計、做網站服務,網站設計,網站托管維護等一站式綜合服務型公司,專業(yè)打造企業(yè)形象網站,讓您在眾多競爭對手中脫穎而出創(chuàng)新互聯(lián)建站。
如果 n*m 也就是行數和列數不相同的情況就可能出錯。
因為 n*m 是沒有對角線的,也就是 i = j不一定出現在對角線上,所以出現了你上面的問題。
pre t="code" l="java"思路:
1、首先聲明一個6行5列的數組
2、先循環(huán)行,再循環(huán)列,再賦值為隨機數(使用 Random 類)
3、再遍歷
代碼如下:
public static void main(String[] args) {
//聲明一個6行5列的數組
int[][] array=new int[6][5];
for(int i=0,j=array.length;ij;i++){
for(int h=0,k=array[i].length;hk;h++){
array[i][h]=new Random().nextInt(100); //賦值:100以內的隨機數
}
}
//遍歷
for(int i=0,j=array.length;ij;i++){
System.out.println();
for(int h=0,k=array[i].length;hk;h++){
System.out.print(array[i][h]+"\t");
}
}
}
只需對上三角或者下三角進行循環(huán),樓主這樣相當于循環(huán)了2遍,行列互換后,有列行呼喚,又換回來了::)改正如下:
for(int i=0;iarray.length;i++)
for(int j+1;jarray.length;j++)
{
//行列互換
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;//為什么array[0][1],array[0][2]賦值不過來,分別還是2,3???不明白!
}
二維數組的行列值互換,又叫矩陣的轉置,數組a轉置后應該是1,4;2,5;3,6;
完整的矩陣轉置的Java程序如下
按照你的要求輸出1,2;4,5;3,6;的程序
第一個方法是把換行后數組結果保存在一個新數組里,第二個方法對原數組沒有半點操作,只是打印時按照換行后的方法打印而已(所以此方法打印看下效果可以,但是要是用來其它計算或操作就沒什么卵用)
網站標題:行列互換代碼java,行列互換變號
URL網址:http://chinadenli.net/article44/dsiddee.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網站、網站策劃、、ChatGPT、網站導航、定制開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)