黑马程序员技术交流社区
标题:
考试题 内螺旋方式打印二维数组
[打印本页]
作者:
ylca
时间:
2016-7-9 21:11
标题:
考试题 内螺旋方式打印二维数组
本帖最后由 ylca 于 2016-7-10 00:37 编辑
private static void myPrintArray(int[][] nums) {
/**
* width = 宽度
* height = 高度
* circle = 圈数
* num = 要打印的数值
* count = 计数器
*/
for (int width = 0, height = 0, circle = nums.length - 1, count = 0, num = 1;
count < nums.length; width++, height++, circle--, count++) {
while (width <= circle - 1) { nums[height][width++] = num++; } // 宽度++ 往右移动赋值
while (height < circle) {nums[height++][width] = num++; } // 高度++ 往下移动赋值
while (width > count) {nums[height][width--] = num++; } // 宽度-- 往左移动赋值
while (height > count) {nums[height--][width] = num++;} // 高度-- 往上移动赋值
if (circle == count) {nums[height][width] = num; } // 如果圈数等于计数器 对最后一位数进行赋值
}
}
复制代码
作者:
丹唯伯夷
时间:
2016-7-18 07:31
看看今天会不会出这一道题
作者:
ylca
时间:
2016-7-18 09:07
丹唯伯夷 发表于 2016-7-18 07:31
看看今天会不会出这一道题
这个是入学考试题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2