打印大X
小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。
为了便于比对空格,所有的空白位置都以句点符来代替。
要求输入两个整数m n,表示笔的宽度,X的高度。用空格分开(0<m<n, 3<n<1000, 保证n是奇数)
要求输出一个大X
例如,用户输入:
3 9
程序应该输出:
***.....***
.***...***.
..***.***..
...*****...
....***....
...*****...
..***.***..
.***...***.
***.....***
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
char[][] c = new char[n][n + m - 1];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n + m - 1; j++) {
c[i][j] = '.';
}
}
int mid = n / 2;
for (int i = 0; i <= mid; i++) {
for (int j = i; j <= i + m - 1; j++) { // 左边的星号
c[i][j] = '*';
c[n - 1 - i][j] = '*';
}
for (int j = n - i - 1; j <= n + m - i - 2; j++) { // 右边的星号
c[i][j] = '*';
c[n - 1 - i][j] = '*';
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n + m - 1; j++) {
System.out.print(c[i][j]);
}
System.out.println();
}
}
}