import java.util.Scanner; @SuppressWarnings({"all"}) public class Test{//记得根据文件名修改 public static void main(String[] args){ Scanner input=new Scanner(System.in); System.out.println("输入你想要的层数"); int level = input.nextInt(); System.out.println("输入你想要的图案"); char pattern = input.next().charAt(0); int half = (level+1)/2; int n ; if (level%2==0){//判断输入的层数为奇数还是偶数 n=(level -2)/2; }else{ n = (level -1)/2; } for (int i = 1; i <= (n+1);i++){ for(int j =1;j <= n+1-i;j++){//输入图案前的空白 System.out.print(" "); } for (int z =1 ;z <= 2*i-1;z++){//正式勾画菱性 if(z==1 || z==2*i-1){//只有每行的头和尾才有图案,其他的都是空白 System.out.print(pattern); }else{ System.out.print(" "); } } System.out.println(); } //勾画菱形的下部分 if(level %2==0){ for (int c =1;c <= 2*n+1;c++){ if (c==1 || c==2*n+1){ System.out.print(pattern); }else{ System.out.print(" "); } } System.out.println(); } for (int i= 1 ;i<= n; i++){ for (int b =1; b<=2*n+1;b++ ){//也是只有每行的头和尾才有图案,其他的都是空白 if (b == i+1 || b==2*n+1-i){ System.out.print(pattern); }else{ System.out.print(" "); } } System.out.println(); } } }