1 public class Copy1 {
2
3 public static void main(String[] args) {
4 array1(); //如果不初始化元素,默认为0
5 int [][] a = new int [][]{{1,3,2,5,7},{5,9,3,4,2}};
6 int [][] b = new int [a[1].length][a.length];
7 for(int i=0;i<b.length;i++){ //数组的转置
8 for(int j =0;j<b[i].length;j++){
9 b[i][j]=a[j][i];
10 }
11 }
12 printArray(a); //调用方法遍历a
13 System.out.println();
14 System.out.println();
15 printArray(b); //遍历b
16 System.out.println();
17 for(int []n:b){ //foreach用法,int[]n为零时变量
18 for(int m:n){ //int m零时变量
19 System.out.print(m+" ");
20 }
21 System.out.println();
22 }
23 System.out.println();
24
25
26 int [][] c=new int[][]{{1,2,3},{4,5,6},{7,8,9}}; //创建数组
27 printArray(c); //调用方法遍历数组
28 System.out.println();
29 System.out.println();
30 int [][] d=new int[c[0].length][c.length]; //d与c行列转换(d叫做转置后的c)
31 for(int i=0;i<d.length;i++){ //遍历
32 for(int j=0;j<d[i].length;j++){
33 d[i][j]=c[j][i];
34 System.out.print(d[i][j]+" ");
35 }
36 System.out.println();
37 }
38 System.out.println();
39 System.out.println();
40
41
42 //在方阵数组中d[i][j],当i==j时的所有元素的和叫做方阵的迹
43 {
44 int n=0;
45 for(int i=0;i<d.length;i++){
46 for(int j=0;j<d[i].length;j++){
47 if(i==j){
48 n+=d[i][j]; //当i==j时
49 }
50 }
51 }
52 System.out.println(n);
53 }
54 }
55
56
57
58 private static void printArray(int[][] a) { //封装遍历数组方法
59 for(int i=0;i<a.length;i++){
60 for(int j=0;j<a[i].length;j++){
61 System.out.print(a[i][j]+" ");
62 }
63 System.out.println();
64 }
65
66 }
67
68 private static void array1() { //默认初始化元素为0
69 int [][] a= new int[3][4];
70 for(int i=0;i<a.length;i++){
71 for(int j=0;j<a[i].length;j++){
72 System.out.print(a[i][j]+" ");
73 }
74 System.out.println();
75 }
76 }
77
78 }