黑马程序员技术交流社区

标题: 考试题 内螺旋方式打印二维数组 [打印本页]

作者: ylca    时间: 2016-7-9 21:11
标题: 考试题 内螺旋方式打印二维数组
本帖最后由 ylca 于 2016-7-10 00:37 编辑
  1. private static  void myPrintArray(int[][] nums) {
  2. /**
  3. * width = 宽度
  4. * height = 高度
  5. * circle = 圈数
  6. * num = 要打印的数值
  7. * count = 计数器
  8. */
  9. for (int width = 0, height = 0, circle = nums.length - 1, count = 0, num = 1;
  10.                 count < nums.length; width++, height++, circle--, count++) {
  11. while (width <= circle - 1) { nums[height][width++] = num++; }   // 宽度++ 往右移动赋值
  12. while (height < circle) {nums[height++][width] = num++; }         // 高度++ 往下移动赋值
  13. while (width > count) {nums[height][width--] = num++; }         // 宽度-- 往左移动赋值
  14. while (height > count) {nums[height--][width] = num++;}        // 高度-- 往上移动赋值
  15. if (circle == count) {nums[height][width] = num; }    // 如果圈数等于计数器 对最后一位数进行赋值
  16. }
  17. }
复制代码


作者: 丹唯伯夷    时间: 2016-7-18 07:31
看看今天会不会出这一道题
作者: ylca    时间: 2016-7-18 09:07
丹唯伯夷 发表于 2016-7-18 07:31
看看今天会不会出这一道题

这个是入学考试题




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2