Java打印空心菱形

使用Java打印空心菱形

    public static void main(String[] args) {
        int n = 5;
        //这里输出菱形的上半部分
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= n - i; j++) { //控制每行最前面的空格
                System.out.print(" ");
            }
            for (int k = 1; k <= 2 * i - 1; k++) { //控制总的星号和空格
                if (i == 1) {
                    /* 控制第一行的与最后一行的星号
                     * 当i等于n时,每次循环都只会走这一句
                     * 所以会打印2*n-1个星号 */
                    System.out.print("*");
                } else if (k == 1 || k == 2 * i - 1) { //控制第二行到n-1行的星号的输出
                    System.out.print("*");
                } else { //控制第二行到n-1行的空格的输出
                    System.out.print(" ");
                }
            }
            System.out.println(); //每行输出完毕后进行换行操作
        }
        //这里输出菱形的下半部分
        for (int i = 1; i < n; i++) { //控制四行,所以不能使用小于等于号
            for (int j = 1; j <= i; j++) { //控制每行最前面的空格
                System.out.print(" ");
            }
            for (int k = 1; k <= 2 * (n - i) - 1; k++) { //控制总的星号和空格
                if (k == 1 || k == 2 * (n - i) - 1) { //控制第一个星号和最后一个星号
                    System.out.print("*");
                } else { //控制中间空心部分
                    System.out.print(" ");
                }
            }
            System.out.println(); //每行输出完毕后进行换行操作
        }
    }

结果#

    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *
posted @   Cn_FallTime  阅读(209)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示
主题色彩