天天看点

java打印任意边长的菱形

public static void printSomeStar() {
   Scanner sc = new Scanner(System.in);
    try {
        System.out.print("请输入菱形边长:");
        int a = sc.nextInt();
        for (int i = 1; i <= a; i++) {
            for (int j = 0; j < a - i; j++) {
                System.out.print(' ');
            }
            for (int j = 0; j < 2 * i - 1; j++) {
                System.out.print('*');
            }
            System.out.println();
        }

        for (int i = 1; i < a; i++) {
            for (int j = 0; j < i; j++) {
                System.out.print(' ');
            }
            for (int j = 0; j < 2 * (a - i) - 1; j++) {
                System.out.print('*');
            }
            System.out.println();
        }
    } catch (Exception e) {
        System.out.println("输入不合法!请重新输入");
        printSomeStar();
    }
}
           
执行结果:
请输入菱形边长:a
输入不合法!请重新输入
请输入菱形边长:4
   *
  ***
 *****
*******
 *****
  ***
   *