Loading

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 @ 2022-01-12 22:46  Cn_FallTime  阅读(196)  评论(0编辑  收藏  举报