有人可以向我解释为什么打印出来1 2 3 4 5吗?我认为它将打印出4 3 2 1 0,但是我的书和日食都说我错了。

public class whatever {

    /**
     * @param args
     */
    public static void main(String[] args) {
        xMethod(5);

    }

    public static void xMethod(int n){
        if (n>0){
            xMethod(n-1);
            System.out.print(n + " ");
        }
    }


}

最佳答案

很简单,这些就是电话

main
   xMethod(5)
      xMethod(4)
          xMethod(3)
             xMethod(2)
                 xMethod(1)
                     xMethod(0)
                 print 1
             print 2
          print 3
      print 4
  print 5


所以你看到的打印是1,2,3,4,5

10-01 18:13