1 public class hanoitower{
2 public static void main(String[] args){
3
4 Tower tower = new Tower();
5 tower.move(6,'A','B','C');
6
7
8 }
9 }
10
11 class Tower{
12 //方法
13 //num 表示移动的个数,a,b,c分别表示A塔,B塔,C塔
14 public void move(int num,char a,char b,char c){
15 //如果只有一个盘 num = 1
16 if(num == 1){
17 System.out.println(a + "->" + c);
18 }else{
19 //如果有多个盘,可以看成两个,最下面的和最上面的所有盘(num -1)
20 //(1)先移动和上面所有的盘到b,借助c
21 move(num - 1,a,b,c);
22 //(2)把最下面的这个盘,移动到c
23 System.out.println(a + "->" + c);
24 //(3)再把b塔的所有盘,移动到c,借助a
25 move(num - 1,b,a,c);
26 }
27 }
28 }