最近在看算法书的时候,看到有打印上三角的算法,然后要举一反三,下面要求你打印菱形,一共有七行:每行的星号为1357351
思路:用嵌套for循环,分三步:
1,用第一层for循环控制行数;
2,用在嵌套在里面的第一个for循环控制输出的空格;
3,用嵌套在里面的第二个for循环控制输出的星号;
注意:一共有七行,则第一个for循环i从-3到3,则有七行;
每一行的空格数分别为3210123,则另设一个数K为i的绝对值,可实现空格的输出;
每一行的星号分别为1357351,则可得函数为-2*k+7,可实现星号的输出;
具体代码如下:
public class Demo {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=-3;i<=3;i++) {
int k = (int)Math.abs(i);
for(int j=1;j<=k;j++) {
System.out.print(" ");
}
for(int j= 0;j < (-2*k) + 7 ;j++) {
System.out.print("*");
}
System.out.print("\n");
}
}
}
打印菱形如下: