JAVA学习之打印空心菱形

来源:互联网 发布:战地之王透视源码 编辑:程序博客网 时间:2024/06/13 16:11
/**
打印菱形,可以分为3步
第一步,先打印一个实心三角形
第二步,把实心三角形里面的*去掉
第三步,在打印一个倒的空心三角形
 */
public class LingXing{
public static void main(String[] args){
//控制打印行数 
int line=5;
for(int i=1;i<=line;i++){
//控制打印空格
for(int j=1;j<=line-i;j++){
System.out.print("  ");
}
//打印*号
for(int j=1;j<=i*2-1;j++){
//如果是第一行,或者是最后一行,就把*打印出来
if(j==1 || j==i*2-1){
   System.out.print("*");
}else{
if(j==1 || j==2*i-1){//否则,如果是这一行的第一个* 或者是最后一个*
System.out.print("*");
}else{
System.out.print("  ");
}
}

}
System.out.println();
}

//以上的代码打印出上半部分的菱形

 //空心菱形下半部分的行数为line-1行;比如上半部分4行,则下半部分为3行才能构成菱形

for (int i=1;i<=line-1;i++) 
        {
            for (int j=1;j<=i;j++) //每行空格数
            {
                System.out.print("  ");
            }
            for (int k=1;k<=2*(line-i)-1;k++) //下半部分每行总的"*"数
            {
                if (k==1||k==2*(line-i)-1) //如果"*"处在第一和最后一位则打印出来
                {
                    System.out.print("*");
                }else
                    System.out.print("  "); //如果"*"不是处在第一和最后一位则打印出空格
            }
            System.out.println();
        }       
}
}
0 0
原创粉丝点击