国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java旋轉二維數組實例

2019-11-26 15:22:21
字體:
來源:轉載
供稿:網友

本文實例講述了java旋轉二維數組的操作,分享給大家供大家參考。具體實現方法如下:

復制代碼 代碼如下:

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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定结县| 蓬莱市| 博白县| 彩票| 大厂| 望城县| 府谷县| 昂仁县| 安国市| 绥阳县| 齐齐哈尔市| 金阳县| 哈密市| 延边| 江西省| 汉寿县| 宿州市| 永新县| 安化县| 新竹县| 巴中市| 温州市| 南华县| 池州市| 琼结县| 高碑店市| 平武县| 葵青区| 松阳县| 聊城市| 那坡县| 加查县| 慈利县| 四平市| 东光县| 平乐县| 黄大仙区| 武川县| 来凤县| 玛多县| 嘉定区|