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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Kevin.Kang 于 2015-7-2 14:35 编辑

public class ForTest2{
public static void main(String args []){
  /*
  需求:用for循环打印出下面图像。
    *****    *    * * * * *     *
    ****    **     * * * *     * *  
    ***    ***      * * *     * * *
    **    ****       * *     * * * *
    *    *****        *      * * * * *
  思路:第一个图形是5行,所以外循环最大值就是5,
      图形第一个列是5个,然后以此递减。所以内循环最大值也是5
  */
  for (int x=1; x<=5; x++)
  {
   for (int y=x; y<=5; y++)    //y=x,内循环的循环次数会随着x增大而减少
   {
    System.out.print("*");  //内循环每次不需要换行输出
   }
    System.out.println();   //外循环每次需要换行输出
  }
  /*
  思路:第二个图形需要将内循环次数由小到大递增,第一次是1
  */
  System.out.println("==============");
  for (int x=1; x<=5; x++)
  {
   for (int y=1; y<=x; y++)
   {
    System.out.print("*");
   }
    System.out.println();
  }
  /*
  思路:第三个图形可以看作是一个三角形加上一个由*和一个空格组成的三角行组合完成的。
      * * * * *
     -* * * *
     --* * *
     ---* *
     ----*
     先打印出来-组成的三角形,便于查看,然后把-符号换成空格就可以了
     然后再嵌套一个for循环把"* "组成的三角行打印出来就行了
  */
  System.out.println("==============");
  for (int x=1; x<=5; x++)
  {
   for (int y=1; y<x; y++)
   {
    System.out.print(" ");  //打印出来-组成的三角形,把-符号换成空格
   }
   for (int z=x; z<=5; z++)
   {
    System.out.print("* ");  //再嵌套一个for循环把"* "组成的三角行打印出来
   }
    System.out.println();
  }
  /*
  思路:第四个图形也是一样的
     ----*
     ---* *
     --* * *
     -* * * *
     * * * * *
  */
  System.out.println("==============");
  for (int x=1; x<=5; x++)
  {
   for (int y=x; y<5; y++)
   {
    System.out.print(" ");
   }
   for (int z=1; z<=x; z++)
   {
    System.out.print("* ");
   }
    System.out.println();
  }
}
}


2 个回复

倒序浏览
应该将它总结为:大圈套小圈,这样的总结才会更有意义!而且还涉及到排序算法。

点评

看过视频自己练习总结的。  发表于 2015-5-26 15:29
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马