黑马程序员技术交流社区
标题:
(一)关于二维数组的练习,自学的同学看过来(注意理解)
[打印本页]
作者:
ytblght55
时间:
2013-6-25 21:41
标题:
(一)关于二维数组的练习,自学的同学看过来(注意理解)
本帖最后由 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();
}
}
}
复制代码
作者:
许庭洲
时间:
2013-7-4 05:52
值得学习ing!
作者:
Just_Only
时间:
2013-7-4 08:44
支持了。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2