B:字母塔
(输入文件: B.in 输出文件: estdout. pc2)
小明刚开始学习程序设计,这几天对输出各种各样的字符图形产生了浓厚的兴趣。他现
A
BAB
CBABC
DCBABCD
EDCBABCDE
FEDCBABCDEF
GFEDCBABCDEFG
在想输出如下图所示的1~26层中任何种层数字母塔:
输入数据:
输入数据有多组,每组一个整数t表示想输出的字母塔层数。
输出数据:
对应每组输入数据,判断n值是否满足n∈[1, 26],如果满足输出对应字母塔,否则输
出层数错误信息: The value of 1 is error!.并重新输入n值。
样例输入:
3
28
9
样例输出:
A
BAB
CBABC
The value of n is error!
A
BAB
CBABC
DCBABCD
EDCBABCDE
FEDCBABCDEF
GFEDCBABCDEFG
HGFEDCBABCDEFGH
IHGFEDCBABCDEFGHI
Java代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int n;
Scanner input = new Scanner(System.in);
while(true) {
try {
n = input.nextInt();
if(n>=1 && n <= 26) {
show(n);
}else {
System.out.println("The value of n is error!");
}
} catch (Exception e) {
break;
}
}
}
private static void show(int n) {
for(int i = 0; i < n; i++) {
for(int j = 0; j < n-i-1; j++) {
System.out.print(" ");
}
for(int j = 0; j <= i; j++) {
System.out.print((char)('A'+i-j));
}
for(int j = 0; j < i; j++) {
System.out.print((char)('A'+j+1));
}
System.out.println();
}
}
}