麻烦的方法,看其他人的代码通过横纵坐标的操作来输出,很可以,哈哈,比我的简便多了啊!!!

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            if (a % 2 == 0) {
                // 偶数
                // 双层位置
                int changeSize = a / 2;
                for (int i = 0; i < a; i++) {
                    if (i < changeSize) {
                        // 上半部分
                        // 左边空格
                        for (int j = i; j > 0; j--) {
                            System.out.print(" ");
                        }
                        System.out.print("*");
                        for (int k = i + 1; k < changeSize; k++) {
                            System.out.print("  ");
                        }
                        System.out.println("*");
                    } else {
                        // 下半部分
                        // 3 4 5    i
                        // 3 2 1    a - i
                        // 0 1 2    i - changesize
                        for (int j = a - i; j > 1; j--) {
                            System.out.print(" ");
                        }
                        System.out.print("*");
                        for (int k = i - changeSize; k > 0; k--) {
                            System.out.print("  ");
                        }
                        System.out.println("*");
                    }
                }
            } else {
                // 单数
                int centerSize = a / 2 + 1;
                for (int i = 1; i <= a; i++) {
                    if (i < centerSize) {
                        // 上半部分
                        // 左边空格
                        for (int j = 1; j < i; j++) {
                            System.out.print(" ");
                        }
                        System.out.print("*");
                        // 中间空格
                        for (int k = (centerSize - i) * 2 - 1; k > 0; k--) {
                            System.out.print(" ");
                        }
                        System.out.println("*");
                    } else if (i == centerSize) {
                        // 中间部分
                        for (int j = 1; j < centerSize; j++) {
                            System.out.print(" ");
                        }
                        System.out.println("*");
                    } else {
                        // 下半部分
                        // 4 5  i
                        // 1 3  (i - centerSize) * 2 - 1
                        for (int j = i; j < a; j++) {
                            System.out.print(" ");
                        }
                        System.out.print("*");

                        for (int k = (i - centerSize) * 2 - 1; k > 0; k--) {
                            System.out.print(" ");
                        }
                        System.out.println("*");
                    }
                }
            }
        }
    }
}