public class han {
public static void main(String[] args) {
hanoi(5, "A", "B", "C");
}
private static void hanoi (int n, String from, String other, String to) {
if (n==0){
return;
}
if (n>0){
hanoi(n-1, from, to, other); //comment
System.out.printf("Move one disk from %s to %s \n ", from, to);
hanoi(n-1, other, from, to); //comment
}
}
}
我正在学习递归,经典的例子是河内塔。然而,我有点难过,上面代码片段中的注释行。
如果方法在第一个注释代码处重新启动,该程序如何到达第二个注释代码?类似下面的东西来说明:
1: some junk
2: goto 1
3: more junk
3
如果重新启动该功能,它怎么能达到2
?河内塔片段也是如此:它是如何到达第二个注释代码的?