2016/1/10 作业 1, 二维数组遍历输出求和 2,转置运算???? 3,九宫格?? 后两个存在问题

 1 public class arr1 {
 2 
 3     
 4     public static void main(String[] args) {
 5         // 创建二维数组arr[][],输出二维数组所有元素的和。
 6         
 7         int arr[][]={{1,3,5,7,9},{21,23,25,27,29},
 8                 {12,14,16,18},{32,34,36,38}};
 9         int sum=0;
10         System.out.println("二维数组遍历");
11     // for循环 遍历 求和
12         for(int i=0;i<arr.length;i++){
13             for(int j=0;j<arr[i].length;j++){
14                 sum+=arr[i][j];
15                 System.out.print(arr[i][j]+"	 ");
16             }System.out.println();
17         }System.out.println("二维数组所有元素的和="+sum);
18     //foreach 遍历 求和
19         /*for(int [] n:arr){
20             for(int ar:n){
21                 System.out.print(ar+"	 ");
22                 sum+=ar;
23             }
24             System.out.println();
25         }System.out.println("二维数组所有元素的和="+sum);*/
26     }
27     }

二,转置运算

 1 public class arr2 {
 2 
 3     
 4     public static void main(String[] args) {
 5         /* 对矩阵进行转置运算  
 6         以左上到右下的斜线为轴 
 7         轴上数字不变  左下角的数反转到右上角  
 8         同理右上角的数转到左下角 对称旋转 转置运算完成*/
 9         
10         //第一步  建立二维数组
11         int arr1[][]=new int[][]{{2,1,4,5},{6,4,2,1},
12                 {9,8,7,6},{4,6,8,1}};
13         System.out.println("转置前的矩阵是:");
14         printArray(arr1);//一句话输出矩阵二维数组
15         
16         
17         //第二步  建立第二个二维数组空间  把上一个二维数组长度套入
18         int arr2[][]=new int[arr1.length][arr1.length];
19         
20         //第三步  for循环完成索引
21         for(int i=0;i<arr1.length;i++){
22             for(int j=0;j<arr1[i].length;j++){
23                 //二维数组 arr1赋值给空二维数组 arr2??
24                 arr2[j][i]=arr1[i][j];
25             }
26         }
27         System.out.println("转职后的矩阵是: ");
28         printArray(arr2); //一句话输出矩阵二维数组
29     }
30     private static void printArray(int[][] arr1)
31     //??? 怎么出现  是什么   为什么出现  出现什么用
32     {
33         //第四步  建立索引   遍历输出 赋值后的二维数组arr2
34         for(int i=0;i<arr1.length;i++){
35             for(int j=0;j<arr1[i].length;j++){
36                 System.out.print(arr1[i][j]+" ");
37             }System.out.println();
38         }
39     }
40 
41 }

三,九宫格

 1 public class NineTable {
 2 
 3     /*
 4      * 输出九宫格
 5      */
 6     public static void main(String[] args) {
 7         // 
 8         int arr[][]=new int[3][3];
 9         int a =2;
10         int b =3/2; 
11         // 为什么是3/2 ?
12         for(int i=1;i<=9;i++){
13             arr[a++][b++]=i;
14             if(i%3==0){
15                 a=a-2;
16                 b=b-1; //为什么?
17             }
18             else{
19                 a=a%3;
20                 b=b%3;
21             }  
22         }System.out.println("输出九宫格:");
23         for(int i=0;i<3;i++){
24             for(int j=0;j<3;j++){
25                 System.out.print(arr[i][j]+"	");
26             }System.out.print("
");
27         }
28     }
29 
30 }

原文地址:https://www.cnblogs.com/haodayikeshu/p/5118853.html