题目描述
小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。为了便于比对空格,所有的空白位置都以句点符来代替。
要求输入两个整数m n,表示笔的宽度,X的高度。用空格分开(0<m<n, 3<n<1000, 保证n是奇数)
要求输出一个大X
解决方法
import java.util.Scanner;
public class C_9 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int n = in.nextInt();
String s,s1,s2,s3,str1 = "",str2 = "";
int i,j,k,l,t;
for(i = 0;i<(n+1)/2;i++) {
s = "";s1 = "";s2 = "";s3 = "";
for(j = 0;j<i;j++) {
s1 = s1 + ".";//两侧的.
}
t = n-1-m-2*j;
for(l = 0;l<t;l++) {
s2 = s2 + ".";//中间的.
}
if(t>0) {
for(k = 0;k<m;k++) {
s3 = s3 + "*";
}
s = s1 + s3 +s2 + s3 + s1;//中间有.的行
}
else {
for(k = 0;k<m+n-1-2*i;k++) {
s3 = s3 + "*";
}
s = s1 + s3 + s1;//中间没有.的那几行
}
str2 = "\n" + s + str2;//后半部分的图形
str1 = str1 + s + "\n";//千般部分的图形
}
System.out.println(str1+str2.substring(m+n+1, str2.length()));
}
}