黑马程序员技术交流社区
标题:
循环
[打印本页]
作者:
zhenxing133
时间:
2015-6-12 15:18
标题:
循环
关于for循环打印
* * * * *
* * * *
* * *
* *
*
谁分析下流程
作者:
q19871127
时间:
2015-6-12 15:56
基本的思路就是 要把*号前面的空格也要算上那些空格 也是一个三角形
作者:
耀阳圣尊
时间:
2015-6-12 16:28
思路就是,外层循环控制行数,然后内层循环控制每行输出的空格和星星(空格数量随着外层循环变量递增,但是星星数量随着外层循环变量递减)
for(int i = 0; i < 5; i++)
{
for(int x = i + 1; x < n; x++)
{
System.out.print(" ");
}
for(int y = 0; y < (i + 1) * 2 - 1; y++)
{
System.out.print("*");
}
System.out.println();
}
复制代码
作者:
meng12
时间:
2015-6-12 16:47
耀阳圣尊 发表于 2015-6-12 16:28
思路就是,外层循环控制行数,然后内层循环控制每行输出的空格和星星(空格数量随着外层循环变量递增,但是 ...
学习啦!赞赞
作者:
夜空中最亮的星
时间:
2015-6-12 19:10
本帖最后由 夜空中最亮的星 于 2015-6-14 19:43 编辑
这个图形可以看作是两个图形的组合(星号前面的空格,可以看作-),因此该图形如下
*******
-*****
--***
---*
由图可知原图形是由一个直角三角形和一个等腰三角形组成,这个图形有行数和列数,所以我们想到需要使用嵌套循环(外层循环控制打印图形的行数,内层循环控制每行打印空格的个数和星号个数)代码如下:
class Demo
{
public static void main(String[] args)
{
int row=5;//设置打印等腰三角形的行数
for (int i = 1; i <= row; i++) //外层循环控制打印图形的行数
{
for (int j = 1; j < i; j++)//内层循环控制每行打印空格的个数,根据图形规律可知,每行空格随着行数的增加而增加,
//注意:第一行不用打印空格
{
System.out.print(" ");
}
for (int k =1 ; k <=2*(row-i)+1; k++)//内层循环控制每行打印*的个数,根据图形规律可知,每行*随着行数的增加而减少,
//注意:假设每行*个数为k,所在行标号为i,总行数row,则三者的关系为k=2(row-i)+1
{
System.out.print("*");
}
System.out.println();
}
}
}
复制代码
作者:
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