黑马程序员技术交流社区

标题: for循环打印空心矩形 [打印本页]

作者: beyondskyqiu    时间: 2014-12-17 21:08
标题: for循环打印空心矩形
今天上课,学习了for循环的运用。利用单个for循环或双重for循环,实现一些运算。在利用双重for循环输出一个矩形时,显示的是一个实心矩形,虽然是实现了目标,但是感觉还是不够形象,当时想的是如果能够显示成空心矩形是不是更加好看点。所以后来在测试和查阅之后最后实现了效果。
代码如下:
public class Test {
        public static void main(String[] args)
        {
                rect(4,9);
        }
        public static void rect(int height, int width)
        {
                for (int i = 0; i < height; i++)
                {
                        for (int j = 0; j < width; j++)
                        {
                                if (i == 0 || i == height - 1 || j == 0 || j == width - 1)
                                {//当坐标等于边框的时候打印%,打印的图形就是空心矩形
                                        System.out.print("%");
                                }
                                else
                                {//其余地方打印空格
                                        System.out.print(" ");
                 }
            }
                System.out.println();
        }
    }
}
显示效果如下:




作者: Lscreat    时间: 2014-12-17 21:11
能不能控制中间空的部分呢
作者: Honelyboy    时间: 2014-12-17 21:13
有创意的想法。
作者: beyondskyqiu    时间: 2014-12-17 21:14
Lscreat 发表于 2014-12-17 21:11
能不能控制中间空的部分呢

打印空格的地方就是控制中间的输出。
作者: 冷风    时间: 2014-12-17 21:15
Lscreat 发表于 2014-12-17 21:11
能不能控制中间空的部分呢

在加几个控制应该就可以实现把。
作者: 红楼    时间: 2014-12-17 21:23
好想法。。。。。。
作者: qig123    时间: 2014-12-17 21:31
能不能把矩形 居中摆放,大神
作者: 擒贼先擒王    时间: 2014-12-17 21:42
你知道螺旋矩形吗?可以用你的这个思想编出来,可以试试!祝你成功!
作者: 只会金克斯    时间: 2014-12-17 21:43
不明觉厉!{:3_47:}
作者: zcyemenye    时间: 2014-12-17 22:24
这样的小代码可以增加初学者的逻辑判断能力还有对循环的理解。很不错
作者: 小精灵    时间: 2014-12-18 00:27
擒贼先擒王 发表于 2014-12-17 21:42
你知道螺旋矩形吗?可以用你的这个思想编出来,可以试试!祝你成功!

你的意思是说当碰到边界时就改变输出放向吗?
作者: 擒贼先擒王    时间: 2014-12-18 08:34
小精灵 发表于 2014-12-18 00:27
你的意思是说当碰到边界时就改变输出放向吗?

对,我也百度之后才知道这个方法,才发现你的这个方法类似!
作者: wuyuwen    时间: 2014-12-18 11:45
呜呜 好厉害呀

作者: 沙子    时间: 2014-12-18 11:59
牛人,想请教,空心凌型怎么打印?
作者: zw937820438    时间: 2014-12-18 13:55
厉害啊,学的挺不错啊

作者: 小精灵    时间: 2014-12-18 19:43
擒贼先擒王 发表于 2014-12-18 08:34
对,我也百度之后才知道这个方法,才发现你的这个方法类似!

哦,我是昨天看见,突然想到有人这么说过,不过我不会,嘿嘿
作者: beyondskyqiu    时间: 2014-12-18 22:01
qig123 发表于 2014-12-17 21:31
能不能把矩形 居中摆放,大神

你是说整个矩形不要靠左边,整个往右边移?可以啊。在第一层循环那加个System.out.print("\t");就可以了。具体显示效果可以控制的。
作者: beyondskyqiu    时间: 2014-12-18 22:03
擒贼先擒王 发表于 2014-12-17 21:42
你知道螺旋矩形吗?可以用你的这个思想编出来,可以试试!祝你成功!

哦,今天讲课就讲到了螺旋矩形。不难的,不过是用二维数组存储。行变列不变,列变行不变就可以了。
作者: beyondskyqiu    时间: 2014-12-18 22:07
擒贼先擒王 发表于 2014-12-17 21:42
你知道螺旋矩形吗?可以用你的这个思想编出来,可以试试!祝你成功!

哦,今天讲课就讲到了螺旋矩形。不难的,不过是用二维数组存储。行变列不变,列变行不变就可以了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2