问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入格式
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输出格式
输出n行,每个m个字符,为你的图形。
解释
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
第0行第0列是A;第1行第1列是A;第2行第2列是A;
第0行第1列是B;第1行第0列是B;第1行第2列是B;
第0行第2列是C;第1行第3列是C;第2行第0列是C;
发现字母与两个坐标的差的绝对值有关,
对于char类型的数
(char)类型有一个字符集,
https://wenku.baidu.com/view/5a02469433687e21ae45a924.html
A,B,C,D都在A后面,所有A+1,A+2就可以得到字母
A+0=A;A+1=B;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
char c = (char)(Math.abs(i-j) + 'A' );
System.print(c);
}
}
完整代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
char c = (char)(Math.abs(i-j)+'A');
System.out.print(c);
}
System.out.println();
}
}
}
**注意:**char里面只能用单引号,上面的A如果用双引号就报错了。