注册 登录
编程论坛 JAVA论坛

java输出风车图形

WARnewB 发布于 2022-09-28 20:24, 4263 次点击
求大神指教这个图形怎么用java码出来
*    ******
**   *****
***  ****  
**** ***   
*******   
***********
    *******
   *** ****
  ****  ***
 *****   **
******    *


[此贴子已经被作者于2022-9-28 20:26编辑过]

3 回复
#2
WARnewB2022-09-28 20:28
回复 楼主 WARnewB
这个打出来显示的有点问题,就是左上角那个三角形组成的一个中心对称的风车
#3
deagoal2022-11-24 16:13
是要这样的效果吗?
*--***
**-**-
****--
--****
-**-**
***--*

*-----******
**----*****-
***---****--
****--***---
*****-**----
*******-----
-----*******
----**-*****
---***--****
--****---***
-*****----**
******-----*
程序代码:
    public void fengche() {//风车
        Integer N = 6;
        char[][] a = new char[N][N];
        int r = 0, c = 0, nums = 0;
        for(r = 0; r < N; r++) {//初始化数据N*N
            nums = r + 1;
            for(c = 0; c < N; c++) {
                if(c < nums) a[r][c] = '*';
                else a[r][c] = '-';
            }
        }
        for(r = 0; r < 2 * N; r++) {
            for(c = 0; c < 2 * N; c++) {
                if(r < N) {//上半矩阵
                    if(c < N) {//左边
                        System.out.print(a[r][c]); //第一区, 行顺,列顺
                    }else {//右边
                        System.out.print(a[N - 1 - r][c - N]);//第二区, 行逆, 列顺
                    }
                }else {//下半矩阵
                    if(c < N) {//左边
                        System.out.print(a[r - N][N - 1 - c]); //第三区, 行顺, 列逆
                    }else {//右边
                        System.out.print(a[N - 1 - (r - N) ][N - 1 - (c - N)]); //第四区, 行逆, 列逆
                    }
                }
            }
            System.out.println();
        }
    }
#4
Plutoczm2022-11-28 11:35
直接ctrl c
1