黑马程序员技术交流社区
标题:
打印空心矩形和菱形
[打印本页]
作者:
迦罗叶
时间:
2014-2-21 13:51
标题:
打印空心矩形和菱形
首先打印一个空心矩形非常简单,一个小小的嵌套循环就可以了。那么我们要得到一个空心的,该有什么想法呢?我们来画图
***** *****
***** *---*
***** *---*
***** *---*
***** *****
老师和我们,说过了外循环可以控制行数,内循环可以控制列数。那么大家有没有想到,1:只要外循环保持在第一轮和最后一轮的时候,即外循环最开始和最后一次的时候我们就可以全部用*,用x表示行数,y表示列数。是否当x是1, 5的时候我们都打实心,否则都用空格表示。
2:y表示列数,如果不管外循环循环到第几次,只要到了内循环的第一次和最后一次我们都用*来表示,其它位置就用空格
3:所以我们要用到判断语句了
for (int y = 1;y<=5 ;y++ )
{
if (x==1||x==5||y==1||y==5)
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
}
System.out.println();
}
复制代码
以上就是一个空心矩形了
同理做一个空心菱形,我们先做一个实心的,一个等腰正三角和一个比上面小一号的等腰倒三角就可以。要把中间那掏空。我们只要有一个思想就是我们只要边所在的地方就是*,其它的都是空格就行
*
* *
* *
* *
* *
* *
* *
* *
*
for(int x = 1;x<=5;x++)
{
for (int y= x;y<=4 ;y++ )
{
System.out.print(" ");
}
for (int z =1;z<=x ;z++ )
{
if (z==1||z==x)
{
System.out.print("* ");
}
else
{
System.out.print(" ");
}
}
System.out.println();
}
for (int x=1;x<=4 ;x++ )
{
for (int y=1;y<=x ;y++ )
{
System.out.print(" ");
}
for (int z=x;z<=4 ;z++ )
{
if(z==x||z==4)
{
System.out.print("* ");
}
else
{
System.out.print(" ");
}
}
System.out.println();
}
复制代码
作者:
俞帅明
时间:
2014-2-21 17:23
谢谢楼主分享,楼主辛苦了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2