public class Lingxing {
public static void main(String[] args) {
for (int i = 1; i <= 13; i++){
//循环输出空格对齐
for(int m=13;m>=i;m--){
System.out.print(" ");
m--;
}
//循环输出星星
for (int j = 1; j <= i; j++){
System.out.print("*");
}
System.out.println();
i++;
}
//菱形下半部分
for (int i = 11; i >= 1; i--){
//输出下半部分每行的空格
for(int m=13;m>=i;m--){
System.out.print(" ");
m--;
}
//输出下半部分每行的星星
for (int j = 1; j <= i; j++){
System.out.print("*");
}
System.out.println();
i--;
}
}
}
运行结果:
更加直观的了解原理:
思路:先输出空格,再输出星号,每行用print(),这样才不会换行。因为为了对齐,我们每行的星星是奇数,所以初始的i要是奇数,然后需要2次i--。不理解的可以尝试逐行在大脑里运行一下试试。



