问题描述
小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:
..$$$$$$$$$$$$$..
..$………..$..
$$$.$$$$$$$$$.$$$
$…$…….$…$
$.$$$.$$$$$.$$$.$
$.$…$…$…$.$
$.$.$$$.$.$$$.$.$
$.$.$…$…$.$.$
$.$.$.$$$$$.$.$.$
$.$.$…$…$.$.$
$.$.$$$.$.$$$.$.$
$.$…$…$…$.$
$.$$$.$$$$$.$$$.$
$…$…….$…$
$$$.$$$$$$$$$.$$$
..$………..$..
..$$$$$$$$$$$$$..
输入格式
一个正整数 n (n<30) 表示要求打印图形的层数。
输出格式
对应包围层数的该标志。
样例输入1
1
样例输出1
..$$$$$..
..$…$..
$$$.$.$$$
$…$…$
$.$$$$$.$
$…$…$
$$$.$.$$$
..$…$..
样例输入2
3
样例输出2
..$$$$$$$$$$$$$..
..$………..$..
$$$.$$$$$$$$$.$$$
$…$…….$…$
$.$$$.$$$$$.$$$.$
$.$…$…$…$.$
$.$.$$$.$.$$$.$.$
$.$.$…$…$.$.$
$.$.$.$$$$$.$.$.$
$.$.$…$…$.$.$
$.$.$$$.$.$$$.$.$
$.$…$…$…$.$
$.$$$.$$$$$.$$$.$
$…$…….$…$
$$$.$$$$$$$$$.$$$
..$………..$..
提示
请仔细观察样例,尤其要注意句点的数量和输出位置。
package prev2; import java.util.Scanner; public class Main { public static char[][] symbol = null; public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int l = n * 4 + 5; in.close(); symbol = new char[l][l]; print(n, 0, 0, l, l); } public static void print(int n, int srow, int scol, int erow, int ecol) { for (int i = srow; i < erow; i++) { for (int j = scol; j < ecol; j++) { if ((i == srow || i == erow) && j >= scol + 2 && j < ecol - 2) { symbol[i][j] = '$'; } else if ((j == scol || j == ecol) && i >= srow + 2 && j < erow - 2) { symbol[i][j] = '$'; } else { symbol[i][j] = '.'; } } } System.out.println(symbol); } }❤❤点击这里 -> 订阅PAT、蓝桥杯、GPLT天梯赛、LeetCode题解离线版❤❤