A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© beyondskyqiu 中级黑马   /  2014-12-17 21:08  /  3483 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天上课,学习了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();
        }
    }
}
显示效果如下:



18 个回复

倒序浏览
能不能控制中间空的部分呢
回复 使用道具 举报
有创意的想法。
回复 使用道具 举报
Lscreat 发表于 2014-12-17 21:11
能不能控制中间空的部分呢

打印空格的地方就是控制中间的输出。
回复 使用道具 举报
Lscreat 发表于 2014-12-17 21:11
能不能控制中间空的部分呢

在加几个控制应该就可以实现把。
回复 使用道具 举报
好想法。。。。。。
回复 使用道具 举报
qig123 中级黑马 2014-12-17 21:31:48
7#
能不能把矩形 居中摆放,大神
回复 使用道具 举报
你知道螺旋矩形吗?可以用你的这个思想编出来,可以试试!祝你成功!
回复 使用道具 举报
不明觉厉!{:3_47:}
回复 使用道具 举报
这样的小代码可以增加初学者的逻辑判断能力还有对循环的理解。很不错
回复 使用道具 举报
擒贼先擒王 发表于 2014-12-17 21:42
你知道螺旋矩形吗?可以用你的这个思想编出来,可以试试!祝你成功!

你的意思是说当碰到边界时就改变输出放向吗?
回复 使用道具 举报
小精灵 发表于 2014-12-18 00:27
你的意思是说当碰到边界时就改变输出放向吗?

对,我也百度之后才知道这个方法,才发现你的这个方法类似!
回复 使用道具 举报
呜呜 好厉害呀
回复 使用道具 举报
沙子 来自手机 中级黑马 2014-12-18 11:59:04
14#
牛人,想请教,空心凌型怎么打印?
回复 使用道具 举报
厉害啊,学的挺不错啊
回复 使用道具 举报
擒贼先擒王 发表于 2014-12-18 08:34
对,我也百度之后才知道这个方法,才发现你的这个方法类似!

哦,我是昨天看见,突然想到有人这么说过,不过我不会,嘿嘿
回复 使用道具 举报
qig123 发表于 2014-12-17 21:31
能不能把矩形 居中摆放,大神

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

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

哦,今天讲课就讲到了螺旋矩形。不难的,不过是用二维数组存储。行变列不变,列变行不变就可以了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马