蓝桥杯 基础训练 字母图形

蓝桥杯 基础训练 字母图形


在这里插入图片描述问题分析:此问题要输出类似下面这样的二维数组,此类二维数组有个特点,即每个字母的位置坐标的绝对值(|x-y|)是一样的,且和别的字母不同,以此来构造出这个二维数组。
在这里插入图片描述

import java.util.Scanner;

public class 字母图形 {
	// 遍历26个字母(小写)
	/*
	 * for(int i = 1;i<=26;i++){ 
	 * System.out.println((char)(96+i));
	 *  }
	 */

	// 遍历26个字母(大写)
	/*
	 * for(int i = 1;i<=26;i++){
	 *  System.out.println((char)(64+i));
	 *   }
	 */

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();// n为行
		int m = sc.nextInt();// m为列
		
		Character[][] c=new Character[n][m];
		for (int i = 1; i <= m; i++) {
			c=S(i-1,c,(char)(64+i),n,m);
		}
		
		for (int i = 1; i <= n; i++) {
			c=S(i-1,c,(char)(64+i),n,m);
		}
		//二维数组的遍历
		for(int i=0;i<n;i++) {
			for(int j=0;j<m;j++) {
				System.out.print(c[i][j]);
			}
			System.out.print("\n");
		}
		
		
		

	}
	
	//坐标绝对值i,存储字母的二维数组,m、n为二维数组的大小,字符a为要放入数组的字符
	public static Character[][] S(int i,Character[][] c,char a,int n,int m) {
		for(int x=0;x<n;x++) {
			for(int y=0;y<m;y++) {
				if(Math.abs(x-y)==i) {
					c[x][y]=a;
				}
			}
		}
		return c;
	}

}

心得:
1、输出26个字母

//遍历26个小写字母
for(int i = 1;i<=26;i++){ 
	 System.out.println((char)(96+i));
}
//遍历26个大写字母
for(int i = 1;i<=26;i++){ 
	 System.out.println((char)(64+i));
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值