代码
package printN;
import java.util.*;
public class PrintN {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
printN(n);
}
public static void printN(int n) {
if (n>0) {
printN(n-1);
System.out.println(n);
}
}
}
代码能够成功运行并正确输出。
疑惑及理解
自己的疑惑:
输入数字n之后,printN()方法持续调用自己本身直到不再满足if中的条件,所以程序可以输出数字1,但是输出1之后为什么不直接结束程序,而是继续输出2直到n呢?
理解:
疑惑与理解部分仅为自己的一点想法,可能有很大的错误,如果有人看到,还请指正,感谢。