一.问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
二.实现思路
我们可以观察第二行与第一行的ASCII码值(下述i和i分别代表行和列)
0行0列为65
1行0列为65+1,此时i=1,j=0。j<i
1行1列为65+0,此时i=1,j=1,j=i
1行2列为65+(2-1),此时i=1,j=2,j>i
2行0列为65+2,此时i=2,j=0,j<i
2行1列为65+1,此时i=2,j=1,j<i
2行2列为65+0,此时i=2,j=2,j=i
…
同过观察规律我们可以发现
当j<=i时,arr[i][j]=‘A’+(i-j)
当j>i时,arr[i][j]=‘A’+(j-i)
就得到了本题的答案
arr[i][j]=‘A’+Math.abs(i-j);
三.代码实现
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n=scanner.nextInt();
int m=scanner.nextInt();
char[][] arr=new char[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
arr[i][j]=(char)('A'+Math.abs(i-j));
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
System.out.print(arr[i][j]);
}
System.out.println();
}
}
}
以上就是我的解题思路以及实现方法,如果你喜欢我的文章的话记得点赞加收藏支持我一下哦~
想要获得更多资源,敬请关注“小呆呆学编程”微信公众号,你的关注就是我最大的动力!
版权声明:本文为qq_24462209原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。