思路:
- 外循环控制行数
- 内循环控制个数
难点
难点一:如何控制打印空格/星号的个数
错误示例:直接 n * " "或者 n * " * "
其实就是for循环在这一行挨个打印,一个循环在这一行打印一个
for ( int j = 1 ; j <= height - i ; j++)//控制空格数
{
System.out.print(" ");
}
for ( int k = 1 ; k <= 2 * i - 1 ; k++)//控制*数
{
System.out.print("*");
}
难点二:如何确认每一行应该打印的空格和星号的数量
看难点一代码:
- 归纳:每一行的空格:3-i
-
归纳:每一行的星号:2*i-1
推广:n行
- 1.每一行空格:n-i
- 2.每一行星号:2*i-1
总结
完整代码 :
public class _11
{
public static void main(String[] args)
{
int height = 3; //定义三角形的高度
for ( int i = 1 ; i <= height ; i++) //控制行数
{
for ( int j = 1 ; j <= height - i ; j++)//控制空格数
{
System.out.print(" ");
}
for ( int k = 1 ; k <= 2 * i - 1 ; k++)//控制*数
{
System.out.print("*");
}
System.out.println();//换行
}
}
}
输出效果: