class Hanio {
private int step;
public void track(int num , String s , String m , String e) {
/*
* 底盘从柱A移到柱C,首先要借助柱C,把底盘上的(n-1)个盘都移到柱B上。
*/
if (num == 1) {
move(num , s , e);
} else {
track(num - 1 , s , e , m);
move(num,s,e);
track(num -1 , m, s, e);
}
}
private void move(int num , String start , String dest) {
step++;
System.out.println("第" + step + "步,盘子" +num+ "从塔" + start + "移动塔" + dest);
}
public int getStep() {
return step;
}
}
private int step;
public void track(int num , String s , String m , String e) {
/*
* 底盘从柱A移到柱C,首先要借助柱C,把底盘上的(n-1)个盘都移到柱B上。
*/
if (num == 1) {
move(num , s , e);
} else {
track(num - 1 , s , e , m);
move(num,s,e);
track(num -1 , m, s, e);
}
}
private void move(int num , String start , String dest) {
step++;
System.out.println("第" + step + "步,盘子" +num+ "从塔" + start + "移动塔" + dest);
}
public int getStep() {
return step;
}
}