汉诺塔 Java scanner
时间: 2024-10-04 11:01:36 浏览: 21
java基于递归算法实现汉诺塔问题实例
在Java中,如果你想使用`Scanner`类来获取用户输入参与汉诺塔游戏(比如指定圆盘数量),你需要在`main`方法中引入`Scanner`,并创建一个实例来读取用户的输入。这里是一个示例:
```java
import java.util.Scanner;
public class HanoiTowerWithScanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建一个Scanner对象
// 提示用户输入圆盘数量
System.out.print("Enter the number of disks: ");
int numDisks = scanner.nextInt(); // 使用nextInt()方法读取整数输入
// 检查用户输入是否有效(例如非负数)
if (numDisks <= 0) {
System.out.println("Invalid input. Number of disks must be a positive integer.");
} else {
moveDisk(0, 2, 1, numDisks, scanner); // 调用函数,传入用户输入的盘子数量
}
// 关闭Scanner
scanner.close();
}
// 原有的moveDisk方法,现在需要修改为接收用户输入的盘子数量
public static void moveDisk(int fromRod, int toRod, int auxRod, int diskNum, Scanner scanner) {
// ... (这里的代码保持不变)
}
}
```
在这个例子中,`Scanner.nextInt()`用于获取用户输入的整数,然后将其传递给`moveDisk`函数。在用户输入无效的情况下,程序会给出错误提示。
阅读全文