题目:
个人思路:
三个变动的地方: 1.每行输出的个数 (跟行数有关)
2.每行空格的个数
3. (以ABCBA为例)分两次输出 先输出ABC 再输出后面BA
代码:
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
char c = scanner.next().charAt(0);//获取字符
if(c >= 'A') {
int n = c -'A';//得到输出的总行数
for(int i = 0 ;i <= n ; i++) {
for(int l = 0; l <=n-i; l++) {//输出前面的空格
System.out.print(" ");
}
for(int j = 0; j <= i; j++) {//输出ABC
System.out.print((char)('A'+j));
}
for(int k = i-1; k >=0; k -- ) {//输出BA
System.out.print((char)('A'+k));
}
System.out.println();
}
}else {
int n = c -'1';
for(int i = 0 ;i <= n ; i++) {
for(int l = 0; l <=n-i-1; l++) {
System.out.print(" ");
}
for(int j = 0; j <= i; j++) {
System.out.print((char)('1'+j));
}
for(int k = i-1; k >=0; k -- ) {
System.out.print((char)('1'+k));
}
System.out.println();
}
}
System.out.println();
}
}