代码 public class hanio { public static void hanio(int n,String 源,String 目标,String 辅助){ if (n<1){ throw new RuntimeException("n必须>=1"); } if (n==1){ System.out.printf("把一个盘子从%s柱子移动到%s上\n",源,目标); }else{ hanio(n-1,源,辅助,目标); System.out.printf("把一个盘子从%s柱子移动到%s上\n",源,目标); hanio(n-1,辅助,目标,源); } } public static void main(String[] args) { hanio(3,"A","C","B"); } }
输出结果
把一个盘子从A柱子移动到C上
把一个盘子从A柱子移动到B上
把一个盘子从C柱子移动到B上
把一个盘子从A柱子移动到C上
把一个盘子从B柱子移动到A上
把一个盘子从B柱子移动到C上
把一个盘子从A柱子移动到C上
大家快去试试吧(友情提示最好不要超过10