問題の説明
资源限制
时间限制:1.0s 内存限制:256.0MB
请编程输出一个菱形。输入为菱形中心到顶点的距离
样例输入
2
样例输出
参照コード
package 菱形;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sr = new Scanner(System.in);
int n = sr.nextInt();
int left = n;
int right = n;
int[][]map = new int[2*n+1][2*n+1];
map[0][n] = 1;
for (int i = 1; i < n; i++) {
//拷贝上一层
map[i] = map[i-1].clone();
//前后加*
map[i][left-1] = 1;
map[i][right+1] = 1;
left--;
right++;
}
//中间部分
for (int i = 0; i < map.length; i++)
map[n][i] = 1;
//下半部分
map[map.length-1][n] = 1;
left = n;
right = n;
for (int i = map.length-2; i > n; i--) {
//拷贝下一层
map[i] = map[i+1].clone();
//前后加*
map[i][left-1] = 1;
map[i][right+1] = 1;
left--;
right++;
}
//输出
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map.length; j++) {
System.out.print(map[i][j]==1?'*':" ");
}System.out.println();
}
}
}