写一个倒等腰三角形
一、思路:
1.尝试用*号画图,倒的等腰三角形是每行输出的*号不一样,最后一行是1个,按照每行减少两个*号算,第一行的*号数量一定要是单数才行。
2.需要用到格式控制,第一行输出全部的*号,第二行就要输出一个空格,在输出比上一行少两个*号的数量。
3.行数由第一行的*数量决定,而每行用于格式控制的空格,是从第二行开始,第一次是空一个格,以后每次都比上一行多一个空格符号。
二、实现
1.每行的输出都是有规律的,用循环最好,定义一个第一行行数的值,根据这个值输出*号,这个值一定是单数才行。
2.每行输出的*号比上一行少两个,直到剩下1结束。
3.定义一个空格输出的控制器,也就是一个变量,控制空格输出的个数,从第二行开始,按1、2、3...输出。
代码如下:
public class TriangleTest {
public static final int COUNT = 9; //第一行*号的个数,修改此值,可以控制三角形的大小
/**
* 写一个倒等腰三角形
* 一、思路:
* 1.尝试用*号画图,倒的等腰三角形是每行输出的*号不一样,最后一行是1个,按照每行减少两个*号算,
* 第一行的*号数量一定要是单数才行。
* 2.需要用到格式控制,第一行输出全部的*号,第二行就要输出一个空格,在输出比上一行少两个*号的数量
* 3.行数由第一行的*数量决定,而每行用于格式控制的空格,是从第二行开始,第一次是空一个格,以后每次都比上一行多一个空格符号
* 二、实现
* 1.每行的输出都是有规律的,用循环最好,定义一个第一行行数的值,根据这个值输出*号,这个值一定是单数才行
* 2.每行输出的*号比上一行少两个,直到剩下1结束
* 3.定义一个空格输出的控制器,也就是一个变量,控制空格输出的个数,从第二行开始,按1、2、3...输出
* */
public static void main(String[] args) {
// TODO Auto-generated method stub
int nullCount = 0; //控制空格的输出数量
int starCount = COUNT; //*号数量
while(starCount != -1){
for(int i = 0;i < nullCount;i++){ //输出空格,因为初始值为0,所以第一次不会输出
System.out.print(" ");
}
nullCount++; //空格个数在下一行要多一个,所以+1
for(int n = 0;n < starCount;n++){ //输出*号
System.out.print("*");
}
System.out.println(); //输出完毕,执行换行
starCount -= 2; //输出完一行*号后,下一行的*号要减少2个
}
}
}
运行结果如下:
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/a686c9177f3e6709e777f5b031c79f3df8dc550d?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
注:修改COUNT的值可以控制三角形的大小,但是必须是单数。