import java.util.Scanner; public class hanoi { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个数n:"); int numDisks= scanner.nextInt(); char source = 'A'; // 源柱子 char auxiliary = 'B'; // 辅助柱子 char target = 'C'; // 目标柱子 solveHanoi(numDisks, source, auxiliary, target); } public static void solveHanoi(int numDisks, char source, char auxiliary, char target) { if (numDisks == 1) { System.out.println("移动盘子 1 从柱子 " + source + " 到柱子 " + target); } else { // 将numDisks-1个盘子从源柱子移动到辅助柱子,借助目标柱子 solveHanoi(numDisks - 1, source, target, auxiliary); // 移动最底下的一个盘子到目标柱子 System.out.println("移动盘子 " + numDisks + " 从柱子 " + source + " 到柱子 " + target); // 将numDisks-1个盘子从辅助柱子移动到目标柱子,借助源柱子 solveHanoi(numDisks - 1, auxiliary, source, target); } } }