黑马程序员技术交流社区
标题:
螺旋打印一个n阶方阵
[打印本页]
作者:
亦如梦幻泡影
时间:
2015-7-29 22:52
标题:
螺旋打印一个n阶方阵
/*
* 输出 n=5 的螺旋方阵
*1 2 3 4 5
*16 17 18 19 6
*15 24 25 20 7
*14 23 22 21 8
*13 12 11 10 9
*/
public class ForDemo03 {
public static void main(String[] args) {
int n = 5;
int x = n;
int[][] arr = new int[x][x];
int k = 0;
for (int i = 0; i < x; i++) {
// 从左到右行不变,列变
for (int j = i; j < x - i; j++) {
arr[i][j] = ++k;
}
// 右边从上向下列不变,行变
for (int j = i + 1; j < x - i; j++) {
arr[j][x - i - 1] = ++k;
}
// 底部从右向左行不变,列变
for (int j = x - i - 2; j >= i; j--) {
arr[x - i - 1][j] = ++k;
}
// 左边从下向上列不变,行变
for (int j = x - i - 2; j >= i + 1; j--) {
arr[j][i] = ++k;
}
}
for (int i = 0; i < x; i++) {
for (int j = 0; j < x; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}
}
作者:
曾云鹏
时间:
2015-7-29 23:03
正在找这个,多谢楼主
作者:
江峰
时间:
2015-7-29 23:07
好,赞。。。。。。
作者:
黄成祚
时间:
2015-7-29 23:09
学习一下
作者:
CharnLau
时间:
2015-7-29 23:14
这道题我的伤啊!
当时看作业要求,使用之前学到的知识来做这道题,当时还没教二维数组,虽然早就已经会二维数组,知道二位数组能做出来,就是不用,结果想破脑袋都做不出来,放学的时候导师来了一句,这个要用二位数组。
作者:
凶狠搞Android
时间:
2015-7-29 23:58
看了好多遍,都没有看懂啊!!!!是不是逻辑思维能力太弱了,是最大的硬伤
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2