觉得有帮助的小伙伴帮我点一个免费的赞和好评谢谢啦!
这道题最主要的还是要先简后难
先把最简单的搞定然后再开始慢慢变化
public class newmfExercise { public static void main(String[] args) { int totalLevel = 5; //层数 for (int i = 1; i <= totalLevel; i++) { //i 表示层数 //在输出*之前,还有输出 对应空格 = 总层数-当前层 for (int k = 1; k <= totalLevel - 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(" "); } } //每打印完一层的*后,就换行 println本身会换行 System.out.println(""); } int totalLevel1 = totalLevel-1; //层数 for (int a = totalLevel1; a >=1; a--) { //a 表示层数 //在输出*之前,还有输出 对应空格 = 总层数-当前层 for (int b = 1; b <= totalLevel - a; b++) { System.out.print(" "); } //控制打印每层的*个数 for (int c = 1; c <= 2 * a - 1; c++) { //当前行的第一个位置是*,最后一个位置也是*, 最后一层全部 * if (c == 1 || c == 2 * a - 1 ) { System.out.print("*"); } else { //其他情况输出空格 System.out.print(" "); } } //每打印完一层的*后,就换行 println本身会换行 System.out.println(""); } } }