国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java編程實現打印螺旋矩陣實例代碼

Java編程實現打印螺旋矩陣實例代碼

2021-03-04 10:16purelife Java教程

這篇文章主要介紹了Java編程實現打印螺旋矩陣實例代碼,具有一定借鑒價值,需要的朋友可以參考下。

直接上代碼吧。

昨晚騰訊在線測試遇到的題。

螺旋矩陣是指一個呈螺旋狀的矩陣,它的數字由第一行開始到右邊不斷變大,向下變大,向左變大,向上變大,如此循環。

Java編程實現打印螺旋矩陣實例代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import java.util.Scanner;
public class mysnakematrix {
    private int n;
    //
    private int a[][];
    // 聲明一個矩陣
    private int value = 1;
    // 矩陣里數字的值
    public mysnakematrix(int i) {
        this.n = i;
        a = new int[n][n];
    }
    // 計算第m層左上角的數字
    private int getcorner(int m) {
        int corner = 1;
        int o = n - 1;
        for (int i = 0; i < m - 1; ++i) {
            corner += 4 * o;
            o = o - 2;
        }
        return corner;
    }
    // 生成矩陣的每一層的每一邊的數
    // s表示4個方向,分別取值1,2,3,4,表示4個不同的方向。
    // o表示這條邊的起始值。
    // x表示第m層每條邊的數字個數
    private void side(int s, int o, int x, int m) {
        int i = 0;
        int j = 0;
        switch (s) {
            case 1:
                  i = m - 1;
            j = m - 1;
            for (int k = 0; k < x; ++k) {
                a[i][j + k] = value;
                ++value;
            }
            break;
            case 2:
                  i = m - 1;
            j = m - 1 + x;
            for (int k = 0; k < x; ++k) {
                a[i + k][j] = value;
                ++value;
            }
            break;
            case 3:
                  i = m - 1 + x;
            j = m - 1 + x;
            for (int k = 0; k < x; ++k) {
                a[i][j - k] = value;
                ++value;
            }
            break;
            case 4:
                  i = m - 1 + x;
            j = m - 1;
            for (int k = 0; k < x; ++k) {
                a[i - k][j] = value;
                ++value;
            }
            break;
        }
    }
    // 生成蛇形矩陣的第m層
    private void shell(int m)// m表示第m層
    {
        int x = n - 1 - (m - 1) * 2;
        // x表示第m層每條邊的數字個數
        int o = getcorner(m);
        int o1 = o;
        int o2 = o1 + x;
        int o3 = o2 + x;
        int o4 = o3 + x;
        // System.out.println(o4);
        side(1, o, x, m);
        side(2, o, x, m);
        side(3, o, x, m);
        side(4, o, x, m);
    }
    // 生成蛇形矩陣
    public void snakeMatrix() {
        int m = (n + 1) / 2;
        // 計算一共有多少層
        for (int i = 1; i <= m; ++i) {
            shell(i);
        }
        if (n % 2 == 1) {
            a[n / 2][n / 2] = n * n;
        }
    }
    // 打印矩陣
    public void print() {
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < n; ++j) {
                if (a[i][j] < 10) {
                    System.out.print(a[i][j] + " ");
                } else {
                    System.out.print(a[i][j] + " ");
                }
            }
            System.out.println();
        }
    }
    public static void main(String args[]) {
        mysnakematrix my = new mysnakematrix(new Scanner(System.in).nextint());
        //利用Scanner獲取控制臺輸入
        my.snakeMatrix();
        my.print();
    }
}

總結

以上就是本文關于Java編程實現打印螺旋矩陣實例代碼的全部內容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:https://www.cnblogs.com/purelife/p/5833866.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲精品国产成人 | 寡妇激情毛片免费视频 | 国产精品欧美久久久 | 国产一区二区久久久 | 欧美精品一区二区三区在线播放 | 成人中文网 | 高清一区二区三区 | 99国产精品 | 国产精品高潮呻吟久久av野狼 | 在线中文字幕视频 | 香蕉成人 | 欧美一级内谢 | 日本福利视频 | 亚洲三级在线免费观看 | 欧美中文字幕在线观看 | 国产黄免费在线观看 | 久久久久午夜 | 久久久久久夜精品精品免费 | 在线观看免费黄视频 | yw193com尤物| 精品久久久久久国产 | 色www精品视频在线观看 | 黄色免费看片网站 | 一道本一区二区三区 | 想看一级毛片 | 国产一区二区三区在线免费 | 天天干,夜夜操 | 国产精品视频 | 日韩免费视频 | 日韩国产欧美视频 | 亚洲精品一区二三区不卡 | 亚洲国产精品久久久久婷婷老年 | 欧美日韩伊人 | 亚洲欧美中文字幕 | 欧美日韩在线一区二区三区 | 日本不卡高字幕在线2019 | 狠狠av| 欧洲精品二区 | 成人在线免费看视频 | 一级大片免费观看 | 国产在线观看一区 |