㈠ 5. 將一個5×5的二維數組轉置到另一個5×5的二維數組(即沿主對角線翻轉)(java語言).
packagetable;
publicclassRect
{
publicstaticvoidmain(String[]args)
{
int[][]orial={{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}};
for(int[]is:orial)
{
for(inti:is)
{
System.out.print(i+"");
}
System.out.println();
}
System.out.println();
int[][]dest1=newint[5][5];
for(inti=0;i<orial.length;i++)
{
for(intj=0;j<orial[i].length;j++)
{
dest1[i][j]=orial[orial.length-1-j][orial.length-1-i];
}
}
for(int[]is:dest1)
{
for(inti:is)
{
System.out.print(i+"");
}
System.out.println();
}
System.out.println("----------------------");
int[][]dest2=newint[5][5];
for(inti=0;i<orial.length;i++)
{
for(intj=0;j<orial[i].length;j++)
{
dest2[i][j]=orial[j][i];
}
}
for(int[]is:dest2)
{
for(inti:is)
{
System.out.print(i+"");
}
System.out.println();
}
}
}
㈡ 用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行列值的互換
二維數組的行列值互換,又叫矩陣的轉置,數組a轉置後應該是1,4;2,5;3,6;
完整的矩陣轉置的Java程序如下
㈣ 在java中如何將一個5*3的二維數組轉置輸出
效果如圖
----------------------
public class TestArray {
public static void method(int[][] array) {
for (int i = 0; i < array.length; i++) {
for(int j=0;j<array[i].length;j++){
System.out.print(array[i][j]+" ");
}
System.out.println();
}
}
public static void main(String args[]) {
int[][] array={{1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
method(array);
}
}
㈤ 如何用JAVA對3*4二維數組轉置輸出
public static void main(String[] args) {
int[][]arr = new int[][]{{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int[][]arr2 = new int[arr[0].length][arr.length];
showArr(arr);
System.out.println("--------------------------");
for (int i = 0; i < arr[0].length; i++) {
for (int j = 0; j < arr.length; j++) {
arr2[i][j] = arr[j][i];
}
}
showArr(arr2);
}
public static void showArr(int[][] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[0].length; j++) {
System.out.print("\t" + arr[i][j]);
}
System.out.println();
}
}
㈥ Java二維數組的轉置
int a[][] = {{3, 7, 5}, {2, 6, 4}};
int b[][] = new int[3][2];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.println(a[i][j]);
b[j][i] = a[i][j];
}
}
㈦ java二維數組轉置,如果數組是這樣的話{{1,8,3},{6,5}}就會出錯呀。
你 的數組int arr[][]={{1,8,3},{6,5}}; 想要表達的是2行3列的值。
外層的for循環表示的是行,內層for循環表示的是列。那當然就報錯了 。
還忘採納!!