黑马程序员技术交流社区
标题:
打印有趣的螺旋结构数字~~~~
[打印本页]
作者:
ven
时间:
2015-8-1 13:19
标题:
打印有趣的螺旋结构数字~~~~
偶然翻到之前学习数组时写的一个关于二维数组的tools,在这里分享给大家,这个可以打印出螺旋结构的数字,赋值过程的代码的条件不是很好把控,小生写的还算详细,希望可以帮到正在学习二维数组的部分童鞋,
/*
* 这是一个二维数组打印的工具类,
* 可以打印出螺旋结构的数字,分享给大家
*/
class ArrayArrayDemo1
{
public static void main(String[] args)
{
int n=4;
int arr[][]=new int[n][n];
int a,b,c;
int z=1;
//数组元素赋值,这里面的过程实现很难考虑到那么完全
for (int i=0;i<n ; i++)
{
//上面的一行,从左到右,行数不变,列数++
for (a=i;a<=n-1-i ; a++)//n行的螺旋方阵上面的一行不能运行第n-1次
{
arr[i][a]=z++;
}
//右边的一行,从上到下,列数不变,行数++
for ( a=i+1;a<=n-1-i ;a++ )//n行的螺旋方阵右面的一行不能运行第n-1次
{
arr[a][n-1-i]=z++;
}
//下面的一行,从左到右,行数不变,列数--
for ( a=n-1-1-i;a>= i;a-- )//n行的螺旋方阵下面的一行不能运行第n-1次
{
arr[n-1-i][a]=z++;
}
//左边的一行,从下到上,列数不变,行数--
for ( a=n-1-1-i;a>=i+1;a-- )//n行的螺旋方阵,左边的行数不可能运行到第n-2次,
{
arr[a][i]=z++;
}
}
//遍历,打印二维数组
for (int x=0;x<n ;x++ )
{
for (int y=0;y<n ;y++ )
{
System.out.print(arr[x][y]+"\t");
}
System.out.println();
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2