首先观察图形
可以发现规律,
每行打印的*数都为奇数,
且最大数为7,上下对称,
第一行空格数为 3,且逐行减一,对此我们可以进行编写
public class experiment0204 {
public static void main(String[] args) {
int y = 3 ;
for(int i = 1 ; i <= 7 ; i ++ ) {
if(i % 2 != 0 ) {
//令i为奇数时输出,且输出与i相等数量*
//打印*之前先打印空格,控制格式
for(int x = 1;x <=y ;x ++) {
System.out.printf(" ");
}
for(int u =1;u<=i ; u++) {
System.out.print("*");
}
//输出一行后换行
System.out.println();
//每次循环后令y的值减一,令下次空格数减少
y--;
}
}
y = 1 ;
for(int i = 1 ; i <= 5 ; i ++ ) {
if(i % 2 != 0 ) {
for(int x = 0; x< y ;x++ ) {
System.out.printf(" ");
}
for(int u =1 ;u <= 6-i ; u++) {
System.out.print("*");
}
System.out.println();
y++;
}
}
}
}
运行结果: