黑马程序员技术交流社区

标题: 循环 [打印本页]

作者: zhenxing133    时间: 2015-6-12 15:18
标题: 循环
关于for循环打印
       * * * * *
        * * * *
         * * *
           * *
            *
谁分析下流程

作者: q19871127    时间: 2015-6-12 15:56
基本的思路就是 要把*号前面的空格也要算上那些空格 也是一个三角形

作者: 耀阳圣尊    时间: 2015-6-12 16:28
思路就是,外层循环控制行数,然后内层循环控制每行输出的空格和星星(空格数量随着外层循环变量递增,但是星星数量随着外层循环变量递减)
  1.        for(int i = 0; i < 5; i++)  
  2.         {  
  3.             for(int x = i + 1; x < n; x++)  
  4.             {  
  5.                 System.out.print(" ");  
  6.             }  
  7.             for(int y = 0; y < (i + 1) * 2 - 1; y++)  
  8.             {  
  9.                 System.out.print("*");  
  10.             }  
  11.             System.out.println();  
  12.         }
复制代码

作者: meng12    时间: 2015-6-12 16:47
耀阳圣尊 发表于 2015-6-12 16:28
思路就是,外层循环控制行数,然后内层循环控制每行输出的空格和星星(空格数量随着外层循环变量递增,但是 ...

学习啦!赞赞
作者: 夜空中最亮的星    时间: 2015-6-12 19:10
本帖最后由 夜空中最亮的星 于 2015-6-14 19:43 编辑

这个图形可以看作是两个图形的组合(星号前面的空格,可以看作-),因此该图形如下
*******
-*****
--***
---*
由图可知原图形是由一个直角三角形和一个等腰三角形组成,这个图形有行数和列数,所以我们想到需要使用嵌套循环(外层循环控制打印图形的行数,内层循环控制每行打印空格的个数和星号个数)代码如下:
  1. class  Demo
  2. {
  3.         public static void main(String[] args)
  4.         {

  5.        int row=5;//设置打印等腰三角形的行数

  6.                 for (int i = 1; i <= row; i++) //外层循环控制打印图形的行数
  7.         {         
  8.                         for (int j = 1; j < i; j++)//内层循环控制每行打印空格的个数,根据图形规律可知,每行空格随着行数的增加而增加,
  9.                                                                 //注意:第一行不用打印空格
  10.                         {
  11.                 System.out.print(" ");
  12.             }
  13.             for (int k =1 ; k <=2*(row-i)+1; k++)//内层循环控制每行打印*的个数,根据图形规律可知,每行*随着行数的增加而减少,
  14.                                                                         //注意:假设每行*个数为k,所在行标号为i,总行数row,则三者的关系为k=2(row-i)+1
  15.                         {
  16.                 System.out.print("*");
  17.             }
  18.             System.out.println();
  19.         }
  20.         }
  21. }
复制代码




作者: SHISY    时间: 2015-6-12 20:45
进来学习一下,
作者: 一休    时间: 2015-6-12 22:11
还要循环输出空格
作者: cyd1058    时间: 2015-6-12 22:16
可以理解为forforfor的循环




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