写一个java代码实现罗汉塔
时间: 2024-05-02 21:20:53 浏览: 10
这里提供一个基于递归算法的Java代码实现罗汉塔:
```java
public class HanoiTower {
public static void main(String[] args) {
int n = 3; // 汉诺塔的层数
hanoi(n, 'A', 'B', 'C');
}
/**
* 将n个盘子从A塔移动到C塔
* @param n 盘子的数量
* @param A 起始塔
* @param B 中转塔
* @param C 目标塔
*/
public static void hanoi(int n, char A, char B, char C) {
if (n == 1) {
System.out.println(A + " --> " + C); // 只有一个盘子直接移动到目标塔
} else {
hanoi(n - 1, A, C, B); // 将n-1个盘子从起始塔移动到中转塔
System.out.println(A + " --> " + C); // 将最后一个盘子从起始塔移动到目标塔
hanoi(n - 1, B, A, C); // 将n-1个盘子从中转塔移动到目标塔
}
}
}
```
输出结果为:
```
A --> C
A --> B
C --> B
A --> C
B --> A
B --> C
A --> C
```