public class HanoiTower{
public static void main(String[] args) {
Tower tower = new Tower();
tower.move(5,'A', 'B', 'C');
}
}
class Tower{
//num表示移动的个数 a,b,c表示A塔B塔C塔
public void move(int num, char a, char b, char c){
//如果只有一个盘
if(num == 1){
System.out.println(a + "->" + c);
}else{
//如果有多个盘,可以看成最下面和上面所有盘(num-1)
//(1)先移动上面所有盘到b,借助c
move(num - 1, a, c, b);
//(2)把最下面的这个盘移动到c
System.out.println(a + "->" + c);
//(3)再把b上的所有盘移动到c,借助a
move(num - 1, b, a, c);
}
}
}



