蓝桥杯基础练习字母图形

ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
从给的示例来看,推测是一个对称数组,截取四行四列,发现确实是一个对称数列。
A B C D
B A B C
C B A B
D C B A
题目给出行和列的范围是1~26,因此有了这样的思路。

import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
//		行
		int n = scanner.nextInt();
//		列
		int m = scanner.nextInt();
		String string = "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";
//		用于后移,给对称数组的每一行进行赋值
		String []strings = string.split(" ");
//		用于给strings 的strings[0]赋值
		String []strings1 = string.split(" ");
//		数组最大为26*26的数组,我们求出该数组,最后根据输入的行和列截取即可
		String[][]strs = new String[26][26];
//		strs的第一行,第一行不改变,直接将strings的值付给。
		for (int i = 0; i < strs.length; i++) {
			strs[0][i] = strings[i];
		}
		
//		接下来的25行,每一行都会改变,控制后移执行n-1次,即25次
		for (int i = 1; i < strs.length; i++) {
//		控制后移一次
			for (int j = strings.length-1; j >= 1; j--) {
				strings[j] = strings[j-1];
			}
			strings[0]=strings1[i];
//		后移后,给strs赋值
			for (int j = 0; j < strs.length; j++) {
				strs[i][j] = strings[j];
			}
		}
//根据需要截取输出
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
			//这里字母与字母之间不能加空格,否则不符合题目的输出规则
				System.out.print(strs[i][j]);
			}
//打印完一行就换行
			System.out.println();
		}
	}
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值