本帖最后由 ytblght55 于 2013-6-25 21:42 编辑
- class Demo
- {
- public static void main(String[] args)
- {
- /*
- 已知 一个4*4 的二维数组 int[][] a={{1,1,1,1},{1,2,2,1},{1,2,2,1},{1,1,1,1}}
- 需求: 1: 打印二维数组,打印出的效果如下所示
- 1 1 1 1
- 1 2 2 1
- 1 2 2 1
- 1 1 1 1
- 2 :求出二维数组除对角线元素之外的所有元素的和
- 3: 将数组转化为一个正方形
- */
- int[][] a={{1,1,1,1},{1,2,2,1},{1,2,2,1},{1,1,1,1}};
- show(a);//这是一个打印的函数打印数组
- int sum =getsum(a);//这是一个求和的函数
- System.out.println("sum="+sum);
- show1(a);//这是一个打印正方形的函数
- }
- //这是一个打印的函数
- public static void show(int arr[][])
- {
- for (int x=0;x<arr.length ;x++ )
- {
- for (int y=0;y<arr[x].length ;y++ )
- {
- System.out.print(arr[x][y]+" ");//这是一个打印二维数组的语句
- }
- System.out.println();
- }
- }
- //这是一个求对角线和的方法
- public static int getsum(int arr[][])
- {
- int sum=0;
- for (int x=0;x<arr.length ;x++ )//这是外循环控制行数,x<arr.length
- {
- for (int y=0;y<arr[x].length ;y++ )//这是内循环控制氏列,arr[x]是一个数组所以写成arr[x].length有长度的.
- {
- if (x==y||(x+y)==3)//对角,x,y是下标,当x=y的时候.即右斜角,当x+y=3的时候,即左斜角
- {
- sum=sum+arr[x][y];//用sum的值来记录,对角相加的和
- }
- }
- }
- return sum;
- }
- //打印一个正方形
- public static void show1(int arr[][])
- {
- for (int x=0;x<arr.length ;x++ )
- {
- for (int y=0;y<arr[x].length ;y++ )
- {
- if (arr[x][y]==1)//判断如二维数组中的元素为1,那么打印*.否则打印空格
- {
- System.out.print("* ");
- }
- else
- {
- System.out.print(" ");
- }
- }
- System.out.println();
- }
- }
- }
复制代码 |