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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 迦罗叶 中级黑马   /  2014-2-21 13:51  /  895 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

首先打印一个空心矩形非常简单,一个小小的嵌套循环就可以了。那么我们要得到一个空心的,该有什么想法呢?我们来画图
*****           *****                     
*****           *---*
*****           *---*
*****           *---*
*****           *****
老师和我们,说过了外循环可以控制行数,内循环可以控制列数。那么大家有没有想到,1:只要外循环保持在第一轮和最后一轮的时候,即外循环最开始和最后一次的时候我们就可以全部用*,用x表示行数,y表示列数。是否当x是1,  5的时候我们都打实心,否则都用空格表示。
2:y表示列数,如果不管外循环循环到第几次,只要到了内循环的第一次和最后一次我们都用*来表示,其它位置就用空格
3:所以我们要用到判断语句了
  1.     for (int y = 1;y<=5 ;y++ )
  2.     {
  3.         if (x==1||x==5||y==1||y==5)
  4.         {
  5.            System.out.print("*");
  6.         }
  7.                        
  8.         else
  9.         {
  10.            System.out.print(" ");
  11.         }
  12.    }
  13. System.out.println();
  14.                 }
复制代码
以上就是一个空心矩形了
同理做一个空心菱形,我们先做一个实心的,一个等腰正三角和一个比上面小一号的等腰倒三角就可以。要把中间那掏空。我们只要有一个思想就是我们只要边所在的地方就是*,其它的都是空格就行
    *
   * *
  *   *
*     *
*       *
*     *
  *   *
   * *
    *
  1. for(int x = 1;x<=5;x++)
  2.                 {
  3.                         for (int y= x;y<=4 ;y++ )
  4.                         {
  5.                                 System.out.print(" ");
  6.                         }
  7.                         for (int z =1;z<=x ;z++ )
  8.                         {
  9.                                 if (z==1||z==x)
  10.                                 {
  11.                                         System.out.print("* ");
  12.                                 }
  13.                                 else
  14.                                 {
  15.                                         System.out.print("  ");
  16.                                 }
  17.                         }
  18.                         System.out.println();
  19.                 }
  20.                 for (int x=1;x<=4 ;x++ )
  21.                 {
  22.                         for (int y=1;y<=x ;y++ )
  23.                         {
  24.                                 System.out.print(" ");
  25.                         }
  26.                         for (int z=x;z<=4 ;z++ )
  27.                         {
  28.                                 if(z==x||z==4)
  29.                                 {
  30.                                         System.out.print("* ");
  31.                                 }
  32.                                 else
  33.                                 {
  34.                                         System.out.print("  ");
  35.                                 }
  36.                         }
  37.                         System.out.println();
  38.                 }
复制代码






评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

1 个回复

倒序浏览
谢谢楼主分享,楼主辛苦了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马