思路:
类似的题,可以将一个图分为两个部分,上面一部分,下面一部分;
逐行分析,可以得到每一行有几个空格,有几个星星;
得到空格和星星的数量与行数的数学关系;
根据关系用for循环逐行画出;
package day8;
public class day8_6 {
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<=2*i-1;k++)//将中间的小矩形看成一个实心的矩形
{
if(k==1||k==2*i-1)//边缘部分为*
{
System.out.print("*");
}
else//中心为空格
{
System.out.print(" ");
}
}
System.out.println();
}
//下部分
for(int i=4;i>=1;i--)
{
for(int k=1;k<=5-i;k++)
{
System.out.print(" ");//空格
}
for(int j=1;j<=2*i-1;j++)//内部矩形
{
if(j==1||j==2*i-1)
System.out.print("*");
else
System.out.print(" ");
}System.out.println();
}
}
}
1.先写上部分:
先画空格,在将内部的矩形看做一个实心的矩形,用一个if选择,边缘为星星,其他为空格
2.下部分思路如上。