foreach遍歷數組、數組的轉置與方陣的跡
阿新 • • 發佈:2017-06-23
ray n) length nbsp copy 數組方法 封裝 -s 調用方法
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 }
foreach遍歷數組、數組的轉置與方陣的跡