设计一个程序,键盘输入一个小于20的整数作为行数,输出如下的字母组成的图形。 java A ABA ABCBA ABCDCBA ABCDEDCBA
时间: 2024-12-20 22:14:22 浏览: 7
设计这样一个Java程序,你可以使用嵌套循环和字符串拼接的方式来实现。首先,获取用户输入的行数,然后根据行数生成对应形状的字母图案。以下是一个简单的示例代码:
```java
import java.util.Scanner;
public class PatternGenerator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个小于20的整数作为行数:");
int numRows = scanner.nextInt(); // 获取用户输入的行数
if (numRows >= 20) {
System.out.println("输入错误,行数不能超过19。");
return;
}
for (int i = 1; i <= numRows; i++) {
String pattern = generatePattern(i);
System.out.println(pattern);
}
scanner.close();
}
private static String generatePattern(int rows) {
StringBuilder sb = new StringBuilder();
char startChar = 'A';
int letterCount = rows % 2 == 0 ? rows : rows + 1;
for (int j = 0; j < rows; j++, startChar++) {
sb.append(startChar).append(' ');
for (int k = 1; k < letterCount; k++) {
sb.append(startChar).append(j % 2 == 0 ? "" : "B");
}
sb.append("\n");
}
return sb.toString().trim();
}
}
```
在这个程序中,`generatePattern` 方法负责构造每行的模式。它会从'A'开始,每次递增字符,同时保持每个新行的第一个字母是上一行最后一个字母加一。如果行数是偶数,那么每一行会有行数个字符;如果是奇数,最后一行会有一个额外的字符。
运行这个程序,按照提示输入一个小于20的整数,就会看到相应的字母图形。
阅读全文