1. 程式人生 > >藍橋杯 JAVA 字母圖形

藍橋杯 JAVA 字母圖形

問題描述
利用字母可以組成一些美麗的圖形,下面給出了一個例子:

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

這是一個5行7列的圖形,請找出這個圖形的規律,並輸出一個n行m列的圖形。

輸入格式
輸入一行,包含兩個整數n和m,分別表示你要輸出的圖形的行數的列數。
輸出格式
輸出n行,每個m個字元,為你的圖形。
樣例輸入
5 7
樣例輸出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
資料規模與約定
1 <= n, m <= 26。

import java.util.Scanner;  
 /**
  * 思路:構造一個字串51個字母,因為每行的輸出都可以看做兩部分..DCB||ABCD...類似於這種形式
  * (1)第一個for迴圈來構造字元序列,採用的是字母的ASCII碼值 
  * (2)第二個for迴圈包含兩個for迴圈,第一個for就是輸出每行的字元序列,第二個for迴圈就是調整構造的第一個ch字元陣列的字母順序,
  * 使其成為一個新的順序序列,進行下輪外層迴圈輸出
  * @author
liyongyong * */
public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int m = scanner.nextInt(); char ch[] = new char[51]; for (int i = 0; i < 26; i++) { ch[i] = (char
) (i + 65); ch[50 - i] = (char) (65 + i); } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++){ System.out.print(ch[j]); } System.out.println(); for (int j = 49; j >= 0; j--){ ch[j + 1
] = ch[j]; } ch[0] = ch[50]; } } }