解答思路:public static void main(String[] args) {
//外部循环控制行数,内部循环分别控制空格和星号的输出
for(int i=1;i<=5;i++){
for(int j=1;j<=???;j++){
System.out.print(" ");}
for(int k=1;k<=???;k++){
System.out.print("");
}
System.out.println();
}
问号处怎么填呢?如何找到行数和空格的规律
从上面的星号图形可以看出,第一行(i)输出4个空格(j),3个星号(k);第二行输出3个空格,5个星号,可以列个一元二次方程来求解行数和星号、空格的关系。
ai+b=j ,其中 a、b为待定系数
当i=1时,j=4;当i=2,j=3
解 a+b=4, 2a+b=3, 得 a=-1,b=5, 所以 5-i=j
同样的办法找到行数和星号数的规律
ai+b=k, 当i=1时,k=3;当i=2,k=5
解 a+b=3, 2a+b=5, 得 a=2,b=1, 所以 2i+1=k
public static void main(String[] args) {
//外部循环控制行数,内部循环分别控制空格和星号的输出
for(int i=1;i<=5;i++){
for(int j=1;j<=5-i;j++){
System.out.print(" ");}
for(int k=1;k<=2i+1;k++){
System.out.print("");
}
System.out.println();
}