31 输出米字形
作者: Turbo时间限制: 1S章节: 基本练习(数组)
问题描述 :
输入说明 :
输出说明 :
输入范例 :
4
输出范例 :
A…A…A
.B.B.B.
…CCC…
ABCDCBA
…CCC…
.B.B.B.
A…A…A
import java.util.Scanner;
public class test_31 {
/**
* 31 输出米字形
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int row = 2 * n - 1;
int col = row;
char[][] a = new char[row][col];
//全部置为 .
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
a[i][j] = '.';
}
}
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
//主对角线
if(i==j){
if(i==0){
a[i][j]='A';
}else{
if(i<n){
a[i][j]=(char)(a[i-1][j-1]+1);
}else{
a[i][j]=(char)(a[i-1][j-1]-1);
}
}
}
//副对角线
if(i+j==col-1){
if(j==col-1){
a[i][j]='A';
}else{
if(i<n){
a[i][j]=(char)(a[i-1][j+1]+1);
}else{
a[i][j]=(char)(a[i-1][j+1]-1);
}
}
}
//列中轴
if(j==n-1){
if(i==0){
a[i][j]='A';
}else{
if(i<n){
a[i][j]=(char)(a[i-1][n-1]+1);
}else{
a[i][j]=(char)(a[i-1][n-1]-1);
}
}
}
//行中轴
if(i==n-1){
if(j==0){
a[i][j]='A';
}else{
if(j<n){
a[i][j]=(char)(a[n-1][j-1]+1);
}else{
a[i][j]=(char)(a[n-1][j-1]-1);
}
}
}
}
}
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
if(j==col-1){
System.out.println(a[i][j]);
}else {
System.out.print(a[i][j]);
}
}
}
}
}