黑马程序员技术交流社区

标题: 【记录】代码练习-for循环练习 [打印本页]

作者: Kevin.Kang    时间: 2015-5-26 14:47
标题: 【记录】代码练习-for循环练习
本帖最后由 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();
  }
}
}



作者: kmlitheima    时间: 2015-5-26 15:22
应该将它总结为:大圈套小圈,这样的总结才会更有意义!而且还涉及到排序算法。




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