scanner类怎么用
时间: 2024-08-15 14:00:21 浏览: 48
`Scanner` 类是 Java 中 `java.util` 包下的一个工具类,主要用于处理键盘输入,可以简化用户输入数据的过程,并能自动对输入的数据进行验证、转换等操作。
### 使用步骤
#### 引入 Scanner 实例
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建 Scanner 对象并传入标准输入流作为构造函数参数
Scanner scanner = new Scanner(System.in);
}
}
```
#### 获取输入值
一旦创建了 `Scanner` 对象,你可以通过调用其方法获取用户的输入。下面是一些常用的获取输入的方式:
- **整数输入**:
```java
int num = scanner.nextInt();
```
这里假设 `scanner` 已经初始化好并且前面已经有 `System.out.println("请输入一个整数: ");` 这样的提示信息。
- **浮点数输入**:
```java
double d = scanner.nextDouble();
```
- **字符串输入**:
```java
String s = scanner.nextLine();
```
注意,`nextLine()` 只会读取直到下一个换行符之前的字符。
- **布尔值输入**:
```java
boolean b = scanner.nextBoolean();
```
需要注意的是,当用户输入 `true` 或 `false` 的全大写形式时才能被识别为布尔值。
### 示例程序
```java
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数: ");
int number = scanner.nextInt();
System.out.print("请输入一个双精度浮点数: ");
double decimalNumber = scanner.nextDouble();
System.out.print("请输入一段文本: ");
String text = scanner.nextLine();
System.out.print("您是否同意?(true/false): ");
boolean agreement = scanner.nextBoolean();
System.out.println("您输入的整数是:" + number);
System.out.println("您输入的浮点数是:" + decimalNumber);
System.out.println("您输入的文本是:" + text);
System.out.println("您的选择是:" + (agreement ? "同意" : "不同意"));
scanner.close(); // 关闭 Scanner
}
}
```
### 小贴士
- 当不再需要 `Scanner` 实例时,务必调用 `close()` 方法释放系统资源。
- 如果你希望更精确地控制如何处理输入错误或异常情况,可以利用 `hasNext(int)`、`hasNextDouble()` 等方法,结合条件判断来进行输入检查。
---
###
阅读全文