二维数组转换:
package recreatio;
public class Test{
public static void main(String []args) {
//第一种二维数组转置
System.out.println("原数组:");
int[][] arrays=new int[][] {{1,2,3},{4,5,6},{7,8,9}};
printarrays(arrays);
System.out.println();
for(int y=0;y<arrays.length;y++) {
for(int x=y;x<arrays[y].length;x++) {
if(y!=x) {
int temp=arrays[x][y];
arrays[x][y]=arrays[y][x];
arrays[y][x]=temp;
}
}
}
System.out.println("转换后的数组:");
printarrays(arrays);
System.out.println("\n");
//第二种二维数组转置
System.out.println("原数组:");
int[][] arrays1=new int[][] {{1,2,3},{4,5,6},{7,8,9}};
printarrays(arrays1);
System.out.println();
System.out.println("转换后的数组:");
for(int y=0;y<arrays1.length;y++) {
for(int x=0;x<arrays1[y].length;x++) {
System.out.print(arrays1[x][y]+" ");
}
System.out.println();
}
}
public static void printarrays(int [][] arrays) {
for (int i = 0; i < arrays.length; i++) {
for (int j = 0; j < arrays[i].length; j++) {
System.out.print (arrays[i][j]+" ");
}
System.out.println();
}
}
}
第一种二维数组转换中的数据转换,第二个for循环的初始化,注意是从第n行的n列开始.
第二中数组转置必须是等行等列的二维数组才可以,不然会数组越界.