题目描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入
输入描述:
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输入样例:
5 7
输出
输出描述:
输出n行,每个m个字符,为你的图形。
输出样例:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
解题思路
因为是找规律的题,它又给了数字,我们就可以把字母换成他们对应的ASCII码值,就像这样:
97 98 99 100 101 102 103
98 97 98 99 100 101 102
99 98 97 98 99 100 101
100 99 98 97 98 99 100
101 100 99 98 97 98 99
可以发现它们的值就是它们所在行和列差的绝对值+A的ASCII值 接下啦就是两个for循环的事情啦。
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int n = scanner.nextInt();
for (int i = 0; i < m; i++) { //行循环
for (int j = 0; j< n; j++) { //列循环
char x = (char)(Math.abs(i - j) + 'A'); //单个字母的值
System.out.print(x);
}
System.out.println();//每输入完一行 换行
}
}
}