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

for循环输出空心菱形的形状【java】

2017-08-21 21:44 423 查看
使用for循环语句输出以下“空心菱形”效果:

*
* *
* *
* *
* *
* *
* *
* *
*建议优先参考笔者的另一篇文章:《for循环输出菱形的形状【java】》
代码:

/*
*
* *
* *
* *
* *
* *
* *
* *
*

分析:
上图形似于实心菱形
*
***
*****
*******
*********
*******
*****
***
*

在菱形图案基础之上,将每行的第一颗和最后一颗星星输出,其他星星使用空格输出即可。
*/

public class StarTree
{
public static void main(String[] args){
int layer = 5;

// 一、上层(显示 layer 行)
for(int i=1;i<=layer;i++){

// 1、获取空格需要显示数量
int spaceNum = layer-i;

for(int j=1;j<=spaceNum;j++){ // 需要打印空格的数量
System.out.print(" ");
}

// 2、获取星星需要显示的数量
int starNum = 2*i-1;

for(int j=1;j<=starNum;j++){ // 需要每行打印的数量
if(j==1||j==starNum){ // 每行第一颗和最后一颗星星打印
System.out.print("*");
}else{ // 每行非第一颗和非最后一颗星星打印成空格
System.out.print(" ");
}
}
// 3、换行
System.out.println();
}

// 二、下层
for(int i=(layer-1);i>=1;i--){

int sapceNum = layer-i; // 获取到每行显示空格的数量与行数i之间的关系
for(int j=1;j<=sapceNum;j++){
System.out.print(" ");
}

int starNum = 2*i-1; // 获取到每行显示星星的数量与行数i之间的关系
for(i
4000
nt j=1;j<=starNum;j++){
if(j==1||j==starNum){ // 每行第一颗和最后一颗星星打印
System.out.print("*");
}else{ // 每行非第一颗和非最后一颗星星打印成空格
System.out.print(" ");
}
}
System.out.println();
}
}
}

代码结果显示:

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java