它应该只打印数字:-1
但它正在打印编号:-1 0 1 2
为什么要印刷此系列?
我希望执行只会对System.out.println
执行一次。
class MemoryJava {
public static void main(String[] args){
decreaseNumberbyOne(2);
}
public static void decreaseNumberbyOne(int num){
if(num >= 0){
decreaseNumberbyOne(num -1);
}
System.out.println("Number:"+num);
}
}
最佳答案
这是事件的顺序:
致电(2)
致电(1)
致电(0)
致电(-1)
不要呼叫(-2),因为打印-1
返回
打印0
返回
打印1
返回
打印2
返回
这称为递归。
我将显示一个带有else
的代码,以帮助您实现所需的输出,但是为此,请看死池的另一个答案。