输入字符或者数字,
如果输入字符,就从‘A“开始打印三角形,打印的行数为该字符在字母表的位序
如果输入数字,则从1开始打印,打印的行数为数字的值。
//输入一个数字或者字符,根据输入的大小,打印三角形
public class 打印三角形 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String string = scanner.next();
char c = string.charAt(0);
if (Character.isDigit(c)) {
printNum(c - '1' + 1);
} else {
printChar(c - 'A' + 1);
}
}
public static void printNum(int num) {
for (int i = 1; i <= num; i++) {// 打印多少行
for (int j = 1; j <= num - i; j++) {// 先打印空格
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {// 打印左半边数字
System.out.print(j);
}
// 对称
for (int j = i - 1; j >= 1; j--) {// 大哥是循环执行的次数!!
// 第一行 打0个
// 第二行 打1个
// 第三行 打2个
// 推导 i-1个,且递减
System.out.print(j);
}
System.out.println();
}
}
public static void printChar(int num) {
for (int i = 1; i <= num; i++) {// 打印多少行
for (int j = 1; j <= num - i; j++) {// 打印空格
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print((char) (j + 'A' - 1));
}
for (int j = i - 1; j >= 1; j--) {
System.out.print((char) (j + 'A' - 1));
}
System.out.println();
}
}
}