本帖最后由 黄霄仪 于 2014-8-8 16:36 编辑
//可变长度的菱形,这应该就是你想要的结果
public class Test {
public static void main(String[] args) {
Test.lingxing(15);
}
public static void lingxing(int n) {
if (n % 2 == 0) {
System.out.println("不能为偶数");
} else {
int u = n / 2 + 1;// 上半部分的行数
//打印上面一排字符*
for(int i=1;i<=n+4;i++){
System.out.print("*");
}
System.out.println();
for (int i = 1; i <= u; i++) {
System.out.print("* ");
// 打印空格
for (int m = 1; m <= u - i; m++) {
System.out.print(" ");
}
// 打印*
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
//打印后面的空格
for (int m = 1; m <= u - i; m++) {
System.out.print(" ");
}
System.out.println(" *");
}
u = n - u;// 下半部分的行数
for (int i = 1; i <= u; i++) {
System.out.print("* ");
// 打印空格
for (int m = 1; m <= i; m++) {
System.out.print(" ");
}
// 打印*
for (int j = 1; j <= 2 * u + 1 - 2 * i; j++) {
System.out.print("*");
}
//打印后面的空格
for (int m = 1; m <= i; m++) {
System.out.print(" ");
}
System.out.println(" *");
}
//打印下面一排字符*
for(int i=1;i<=n+4;i++){
System.out.print("*");
}
}
}
}