2 qq 34187729 qq_34187729 于 2016.04.17 15:12 提问

关于java金字塔内部掏空的

public class taokong{
public static void main(String [] args){
int lay=7;//表示有多少层
for(int i=1;i<=lay;i++){
for(int k=1;k<=lay-i;k++){//空格规律:1行-3个,2行-2个,3行-1个,4行-0个
System.out.print(" ");
}
for(int j=1;j<=(i-1)*2+1;j++){//*打印,1-1,2-3,3-5,4-7
if(i==1||i==lay){
System.out.print("*");
}
else {if(j==1||j==(i-1)*2-1){
System.out.print("*");
}
else{
System.out.print(" ");
}
}
}
System.out.println();//打出一个换行
}
}
}
运行结果怎么是这样?:
*
*
* *

  • *
    • *
    • * *************

4个回答

CSDNXIAOD
CSDNXIAOD   2016.04.17 15:22
已采纳

java---金字塔
JAVA---金字塔
Java金字塔及变形
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

qq_34187729
qq_34187729   2016.04.17 15:17

结果如图图片说明 怎么解决?

niaonao
niaonao   Rxr 2016.04.17 21:48
int lay = 7;
for(int i=1;i<=lay;i++){//输出7层 
    if(i==lay){//最后一行输出全部数据 
        for(int m=0;m<2*lay-1;m++){
            System.out.print(" ");
        }
    }else{
        for(int j=0;j<lay-i;j++){//内循环 输出 lay-i 个不换行空格 
            System.out.print(" ");
        }
        //接着输出星星
        for(int k=1;k<=2*i-1;k++){
            //掏空,除两头外其他用空格替换
            if(k==1||k==2*i-1){
                System.out.print("*");
            }else{
                System.out.print(" ");
            } 
        } 
        //一行结束换行 
        printf("\n");
    }
}

![图片说明](http://img.ask.csdn.net/upload/201604/17/1460900895_232654.png)
qq_34187729
qq_34187729 回复niaonao: 谢谢你
一年多之前 回复
qq_34187729
qq_34187729 回复niaonao: 谢谢你
一年多之前 回复
niaonao
niaonao   Rxr 2016.04.17 21:48

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!