public class Var_02 {
public static void main(String args[]){
/*先输出上面的三角形*/
for(int i=1;i<=7;i+=2){//三角形底部最多7颗星,这里最大值就是7,第一行一颗星,每一行依次增加两颗星
for(int kong=7;kong>i-1;kong--){//依次递减输出空格,每一行输出数量是kong值与i-1的差
System.out.print(" ");
}
for(int xing=1;xing<=i;xing++){//输出i个星号
System.out.print("* ");
}
System.out.println();
}
/*再输出下面的三角形*/
for(int j=1;j<=5;j+=2){//三角形顶部最多5颗星,最后一行一颗星,每一行依次减少两颗星
for(int kong1=1;kong1<j+3;kong1++){//依次递减输出空格,每一行输出数量是kong1值与j+3的差
System.out.print(" ");
}
for(int xing1=5;xing1>=j;xing1--){//输出星号,每一行输出数量是xing1与j值的差,包括j本身
System.out.print("* ");
}
System.out.println();
}
}
}
其实这种写法并不是一种优秀的写法,还有另一种简单、更容易理解的写法,利用(行数*2-1)的方式来计算星号的数量,更加简单。你可以思考一下,自己动手写一下试试。