public class App {
public static int counter = 0;
public static void main(String[] args) {
hanoi(3, "A", "B", "C");
}
/**
* 汉诺塔核心逻辑
*
* @param number 盘子数量
* @param begin 起始柱
* @param end 目标柱
* @param middle 中转柱
*/
public static void hanoi(int number, String begin, String end, String middle) {
if (number == 1) {
System.out.println(String.format("%s. %s => %s", ++counter, begin, end));
} else {
hanoi(number - 1, begin, middle, end);
hanoi(1, begin, end, middle);
hanoi(number - 1, middle, end, begin);
}
}
}