字母图形
问题描述:
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
下面是我的代码,虽然输入输出对了,但是只有70分…
import java.util.Scanner;
public class AerfaShape {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
int n=s.nextInt();
int m=s.nextInt();
for(int i=0;i<n;i++){
for(int j=i;j>=0;j--){
System.out.print((char)(j+65));
}
for(int j=1;j<m-i;j++){
System.out.print((char)(j+65));
}
System.out.println();
}
}
}
后来查了一下别人的答案,通过绝对值把两个for循环变成一个就100了…
Math 类包含用于执行基本数学运算的方法。
static int abs(int a) 返回 int 值的绝对值
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
int n=s.nextInt();
int m=s.nextInt();
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.print((char)(Math.abs(i-j)+65)); //或者+'A'
}
System.out.println();
}
}
}