java汉诺塔(递归实现) 📅 2026/7/21 15:56:29 目录1.1 汉诺塔介绍1.2 游戏1.3 汉诺塔实现步骤1.4 实现代码测试结果1.1 汉诺塔介绍汉诺塔介绍1.2 游戏汉诺塔小游戏1.3 汉诺塔实现步骤设置3个柱子初始柱子A中间辅助柱子B目标柱子C。1、将上面的第1层~第(n-1)层从初始位置A柱移动到中间位置B柱2、再将第n层移动到目标位置C柱3、最后将第1层到~第(n-1)层从中间位置B柱移动到目标位置C柱三者顺序不能变1.4 实现代码import java.util.Scanner; public class TowerOfHanoi { //计步数 static int count; public static void main(String[] args) { //3根柱子 char a A; char b B; char c C; //创建扫描器对象 Scanner scanner new Scanner(System.in); System.out.println(请输入圆盘个数); int num scanner.nextInt(); //关闭扫描器 scanner.close(); //创建汉诺塔对象 TowerOfHanoi toh new TowerOfHanoi(); //调用汉诺塔方法 toh.towerOfHanoi(num, a, b, c); System.out.println(一共 count 步把所有圆盘从A移到C~); } public void towerOfHanoi(int num ,char A ,char B, char C) { if (num 0) { System.out.println(请输入正整数~); } if (num 1) { System.out.println(第 (count) 步 A - C); return; }else { // 递归调用3个顺序不能改变 towerOfHanoi(num-1,A,C,B);//把A柱上的移向B柱 System.out.println(第 (count) 步 A - C);//把A柱上的移向C柱 towerOfHanoi(num-1,B,A,C);//把B柱上的移向C柱 } } }测试结果