它应该只打印数字:-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);
}
}
答案 0 :(得分:4)
这是事件的顺序:
这称为递归。
我将显示带有else
的代码来帮助您实现所需的输出,但为此请看死池的另一个答案。
答案 1 :(得分:1)
尝试该方法将起作用,只是在您的代码中输入错误,在else块中添加System.out.println("Number:"+num);
public static void main(String[] args){
decreaseNumberbyOne(2);
}
public static void decreaseNumberbyOne(int num){
if(num >= 0){
decreaseNumberbyOne(num -1);
} else{
System.out.println("Number:"+num);
}
}