题目
小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度,为了便于比对空格,所有的空白位置都以句点符来代替
要求输入两个整数m n,表示笔的宽度,X的高度,用空格分开(0<m<n,3<n<1000)保证n是奇数
要求输出一个大X
答案
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();//笔的宽度
int n = sc.nextInt();//高度
sc.close();
//计算要多少列
int a = 2 * m + (n - 1) / 2 + 1;
// System.out.println("a:" + a);
//新建数组,并初始化
char[][] nums = new char[n][a];
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums[i].length; j++) {
nums[i][j] = '.';
}
}
//先打印一条,从左上到右下
int b = 0;
for (int i = 0; i < nums.length; i++) {
for (int k = 0; k < 3; k++) {
nums[i][b + k] = '*';
}
b++;
}
//打印另一条
b = a - 1;
for (int i = 0; i <nums.length; i++) {
for (int k = 0; k < 3; k++) {
nums[i][b - k] = '*';
}
b--;
}
for (int i = 0; i < nums.length; i++) {
System.out.println(Arrays.toString(nums[i]));
}
}