Java プリント中空ダイヤモンド

Java プリント中空ダイヤモンド

コード

public class MyClass {
    
    
    public static void main(String[] args){
    
    
        int halfLevel = 5;  //菱形上半层的层数,这里设置为 5
        printDiamond(halfLevel);
    }
    
    public static void printDiamond(int halfLevel) {
    
    
        // 1. 先打印上半的所有层,包括最中间的一层
        for (int i = 1; i <= halfLevel; i++) {
    
      //控制菱形上半的总层数
            //用空格控制格式,使输出的星星居中排列,空格数量 halfLevel - i
            for (int k = 1; k <= halfLevel - i; k++) {
    
    
                System.out.print(" ");
            }

            for (int j = 1; j <= 2 * i - 1; j++) {
    
      //每一层应该打印的星星个数 2 * i - 1
                //除了每行的第一颗星星和最后一颗星星之外,其他星星用空格代替(镂空) j == 1 || j == 2 * i - 1
                if (j == 1 || j == 2 * i - 1) {
    
    
                    System.out.print("*");
                } else {
    
    
                    System.out.print(" ");
                }
            }

            System.out.println();
        }

        // 2. 再打印下半的所有层,不包括最中间的一层
        for (int i = halfLevel - 1; i >= 1; i--) {
    
      //控制菱形下半的总层数
            //用空格控制格式,使输出的星星居中排列,空格数量 halfLevel - i
            for (int k = 1; k <= halfLevel - i; k++) {
    
    
                System.out.print(" ");
            }

            for (int j = 1; j <= 2 * i - 1; j++) {
    
      //每一层应该打印的星星个数 2 * i - 1
                //除了每行的第一颗星星和最后一颗星星之外,其他星星用空格代替(镂空) j == 1 || j == 2 * i - 1
                if (j == 1 || j == 2 * i - 1) {
    
    
                    System.out.print("*");
                } else {
    
    
                    System.out.print(" ");
                }
            }

            System.out.println();
        }
    }
}

出力結果

    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *

おすすめ

転載: blog.csdn.net/qq_45256357/article/details/131769232
おすすめ