源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java旋转二维数组实例

  • 时间:2020-02-11 20:46 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java旋转二维数组实例
本文实例讲述了java旋转二维数组的操作,分享给大家供大家参考。具体实现方法如下:
[u]复制代码[/u] 代码如下:
package test; /*  *     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  *  *    写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。  * */ public class Test6 {     public static void main(String[] args)     {         arraynum(4);     }     // 便于改代码..输入不同y值输出不同的二维数列     private static void arraynum(int x)     {         int[][] arr = new int[x][x];         int len = arr.length, max = 0, count = 0;         specArr(arr, len, max, count);         arrprint(arr);     }     // 高级for输出打印用的     private static void arrprint(int[][] arr)     {         for (int[] in : arr)         {             for (int t : in)             {                 System.out.print(t + "\t");             }             System.out.println();         }     }     private static void specArr(int[][] arr, int len, int max, int count)     {         while (len > 0)         {             int j = 0;             for (int index = 0; index < (len - 1) * 4; index++)             {                 if (index < len - 1)                     arr[0 + count][index + count] = ++max;                 else if (index < 2 * (len - 1))                     arr[count + j++][arr.length - 1 - count] = ++max;                 else if (index < 3 * (len - 1))                     arr[arr.length - 1 - count][(j--) + count] = ++max;                 else if (index < 4 * (len - 1))                     arr[arr.length - 1 - (j++) - count][0 + count] = ++max;             }             if (len == 1)             {                 arr[arr.length / 2][arr.length / 2] = max + 1;             }// 注意到 当y值为奇数时,会有循环到n=1的情况,需要补进数组最中间值             count++;             len = len - 2;         }     } }
希望本文所述对大家的Java程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部