本帖最后由 夜空中最亮的星 于 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();
- }
- }
- }
复制代码
|