Java 打印回形二维数组

移动开发 专栏收录该内容
23 篇文章 0 订阅

print(6, 7);

private void print(int x, int y) {
    int index = 0;
    int line = 0;
    //0右,1下,2左,3    int direction = 0;
    int x2 = x;
    int y2 = y;

    String[][] arr = new String[x][y];
    for (int i = 0, size = x * y; i < size; i++) {
        if (i < 10) {
            arr[index][line] = "0" + i + "";
        } else {
            arr[index][line] = i + "";
        }
        if (direction == 0) {
            if (index == x2 - 1) {
                direction++;
            } else {
                index++;
            }
        }
        if (direction == 1) {
            if (line == y2 - 1) {
                direction++;
            } else {
                line++;
            }
        }
        if (direction == 2) {
            if (index == x - x2) {
                direction++;
                y2--;
            } else {
                index--;
            }
        }
        if (direction == 3) {
            if (line == y - y2) {
                direction = 0;
                x2--;
                index++;
            } else {
                line--;
            }
        }

    }

    String print = "";
    for (int j = 0; j < y; j++) {
        for (int i = 0; i < x; i++) {
            print = print + arr[i][j] + " ";
        }
        print = print + "\n";
    }

    System.out.print(print);
}

04-19 18:11:36.435 22811-22811/com.untek.mes.tdpad I/System.out: 00 01 02 03 04 05 
04-19 18:11:36.435 22811-22811/com.untek.mes.tdpad I/System.out: 21 22 23 24 25 06 
04-19 18:11:36.435 22811-22811/com.untek.mes.tdpad I/System.out: 20 35 36 37 26 07 
04-19 18:11:36.435 22811-22811/com.untek.mes.tdpad I/System.out: 19 34 41 38 27 08 
04-19 18:11:36.435 22811-22811/com.untek.mes.tdpad I/System.out: 18 33 40 39 28 09 
04-19 18:11:36.435 22811-22811/com.untek.mes.tdpad I/System.out: 17 32 31 30 29 10 
04-19 18:11:36.435 22811-22811/com.untek.mes.tdpad I/System.out: 16 15 14 13 12 11 



  • 2
    点赞
  • 11
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值