n =3 ,打印
1
121
1
n = 5,打印
1
121
12321
121
1
Code
package linkedList;
import java.util.*;
public class LingXing {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
printDiamond(n);
}
public static void printDiamond(int n) {
// 处理偶数情况
if (n % 2 == 0) {
System.out.println(-1);
return;
}
int mid = n / 2 + 1; // 中间行
// 打印上半部分包括中间行
for (int i = 1; i <= mid; i++) {
int dots = mid - i;
// 打印前导点
for (int j = 1; j <= dots; j++) {
System.out.print(".");
}
// 打印左半数字(递减)
for (int j = 1; j <= i; j++) {
System.out.print(j);
}
// 打印右半数字(递增,从2开始)
for (int j = i-1; j >= 1; j--) {
System.out.print(j);
}
// 打印后导点
for (int j = 1; j <= dots; j++) {
System.out.print(".");
}
System.out.println();
}
// 打印下半部分
for (int i = mid - 1; i >= 1; i--) {
int dots = mid - i;
// 打印前导点
for (int j = 1; j <= dots; j++) {
System.out.print(".");
}
// 打印左半数字(递减)
for (int j = 1; j <= i; j++) {
System.out.print(j);
}
// 打印右半数字(递增,从2开始)
for (int j = i-1; j >= 1; j--) {
System.out.print(j);
}
// 打印后导点
for (int j = 1; j <= dots; j++) {
System.out.print(".");
}
System.out.println();
}
}
}