我将基本情况表示为emptySpace=0
,否则将condition的基本情况指定为star=0
。我期望程序在打印星星之后先打印空格,但情况恰恰相反。它不应该先打印空格然后再打印星星吗?
public static void displayStarss(int emptySpace, int star) {
if (emptySpace != 0) {
displayStarss(emptySpace - 1, star);
System.out.print(" ");
} else if (star != 0) {
displayStarss(emptySpace, star - 1);
System.out.print("*");
}
}
public static void main(String[] args) {
displayStarss(3, 3);
}
最佳答案
它遵循您的订单应执行的命令:
displayStarss(3, 3);
-> displayStarss(2, 3);
-> -> displayStarss(1, 3);
-> -> -> displayStarss(0, 3);
-> -> -> -> displayStarss(0, 2);
-> -> -> -> -> displayStarss(0, 1);
-> -> -> -> -> -> displayStarss(0, 0);
-> -> -> -> -> System.out.print("*");
-> -> -> -> System.out.print("*");
-> -> -> System.out.print("*");
-> -> System.out.print(" ");
-> System.out.print(" ");
System.out.print(" ");