您的位置:首页 > 编程语言 > Java开发

蓝桥杯 JAVA 打印十字图

2017-04-07 19:21 218 查看


import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);
char[][] arr=new char[125][125];
int n=sc.nextInt();
int m=n*4+5;
int i,j;

//将二维数组全部打印为.
for (i = 0; i < m; i++) {
for ( j = 0; j < m; j++) {
arr[i][j]='.';
}
}

//打印中间的十字
//arr[m/2][m/2]='$';
//打印十字的横
for (i=-2; i<=2; i++) {
arr[m/2+i][m/2]='$';
}
//打印十字的竖
for (j=-2; j<=2; j++) {
arr[m/2][m/2+j]='$';
}
//打印十字的外围两横两竖
int di=0,dj=m;
int dx=0,dy=m;
while (n>0) {
di=di+2;
dj=dj-2;

for (i=di;i<dj;i++) {
arr[i][dx]='$';    //左竖
arr[i][dy-1]='$';  //右竖
arr[dx][i]='$';    //上横
arr[dy-1][i]='$';  //下横
}
//再打印横竖间相连接的三个位置
arr[dx+1][di]='$';
arr[dy-1-1][di]='$';
arr[dx+2][di]='$';
arr[dy-1-2][di]='$';

arr[dx+1][dj-1]='$';
arr[dy-1-1][dj-1]='$';
arr[dx+2][dj-1]='$';
arr[dy-1-2][dj-1]='$';

arr[di][dx+1]='$';
arr[di][dy-1-1]='$';
arr[dj-1][dx+1]='$';
arr[dj-1][dy-1-1]='$';

dx=dx+2;
dy=dy-2;
n--;

}

for (int k = 0; k <m; k++) {
for (int k2 = 0; k2 < m; k2++) {
System.out.print(arr[k][k2]);
}
System.out.println();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java