問題描述
利用字母可以組成一些美麗的圖形泞辐,下面給出了一個例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
這是一個5行7列的圖形铛碑,請找出這個圖形的規(guī)律汽烦,并輸出一個n行m列的圖形俗冻。
輸入格式
輸入一行迄薄,包含兩個整數(shù)n和m讥蔽,分別表示你要輸出的圖形的行數(shù)的列數(shù)冶伞。
輸出格式
輸出n行,每個m個字符芋类,為你的圖形侯繁。
樣例輸入
5 7
樣例輸出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
數(shù)據(jù)規(guī)模與約定
1 <= n, m <= 26贮竟。
解題思路:注意觀察圖形粹懒,發(fā)現(xiàn)規(guī)律凫乖,A出現(xiàn)的位置,橫縱坐標(biāo)之差的絕對值為0翔冀,B出現(xiàn)的位置橫縱坐標(biāo)之差絕對值為1...
package basic_exercise;
/**
* 字母圖形
* @author mqh
*
*/
import java.util.Scanner;
public class T2_Alphabetic_graphics {
public static void main(String[] args) {
// TODO Auto-generated method stub
@SuppressWarnings("resource")
Scanner reader = new Scanner(System.in);
int n = reader.nextInt();
int m = reader.nextInt();
char[] alpahs = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N',
'O','P','Q','R','S','T','U','V','W','X','Y','Z'};//存儲26個英文字母
//根據(jù)字母出現(xiàn)的橫縱坐標(biāo)的關(guān)系填充字母
for(int i = 1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
char s = alpahs[(Math.abs(i-j))%26]; //%26很關(guān)鍵纤子,當(dāng)行數(shù)大于26時起關(guān)鍵作用
System.out.print(s);
}
System.out.println();
}
}
}