这是很多人在入门学习Java时,经常遇见的一种题,它考察的是学习者对for循环的理解程度.
解题思路:我们可以将菱形分为上下两部分,上部分空格逐行减少,星号逐行增加,下半部分则刚好相反,空格逐行增加,星号逐行减少.
下面是笔者所写代码.
public class Demo {public static void main(String[] arg) {int n=4;for (int i = 0; i <= n; i++) {for (int a = n; a > i; a--) {System.out.print(" ");}//逐行减少空格for (int b = 0; b < i*2-1; b++) {System.out.print("*");}//逐行增加星号System.out.println();//换行}for (int i = n-1; i > 0; i--) {for (int a = n; a > i; a--) {System.out.print(" ");}//逐行增加空格for (int b = 0; b < i*2-1; b++) {System.out.print("*");}//逐行减少星号System.out.println();//换行}}}
下面是运行结果: