您的位置:首页 > 编程语言 > Java开发

[Java基础]打印空心菱形

2017-12-27 10:55 477 查看
/* 打印一个9层的空心菱形
*
* *
*   *
*     *
*       *
*     *
*   *
* *
*
*/

public class KongXinLingXing {
public static void main(String[] args) {
/*
先打印上半部分
*/
int size = 9;
for (int i=0;i<size/2+1;i++) {
/*
i 是 0 1 2 3 4
左边空格数量是4 3 2 1 0
*/
for (int j=size/2;j>i;j--) {
System.out.print(" ");
}
/*
i 是 0 1 2 3 4
星号规律是,包括两个星号在内占位为2*i+1
1 3 5 7 9
除了第一个和最后一个打星号,其他打印空格
*/
for (int k=1;k<=2*i+1;k++) {
if (k==1) {
System.out.print("*");
} else if(k==2*i+1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
/*
打印下半部分
*/
for (int i=1;i<size/2+1;i++) {
/* i = 1 2 3 4
左边空格是 1 2 3 4
*/
for (int j=1;j<=i;j++) {
System.out.print(" ");
}
/*
i = 1 2 3 4
下半部分占位是 7 5 3 1
也就是size - 2*i
除了第一个和最后一个打星号,其他打印空格
*/
for (int k=1;k<=size-2*i;k++) {
if (k==1) {
System.out.print("*");
} else if(k==size-2*i) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: