Scanner是Java的一个内置类,主要用于读取用户的输入。以下是Scanner的基本用法:
首先,你需要在程序中导入Scanner类:
```java
import java.util.Scanner;
```
然后,你可以创建一个Scanner对象来读取用户的输入。这个对象通常与`System.in`一起使用,以从键盘获取输入:
```java
Scanner scanner = new Scanner(System.in);
```
接下来,你可以使用Scanner的各种方法来读取不同类型的输入。以下是一些常用的方法:
* `nextLine()`:读取整行文本,直到用户按下回车键。
* `next()`:读取下一个完整的标记(单词或字符串)。这个方法会停止在空格处。例如,如果用户输入 "hello world",`next()` 只返回 "hello"。
* `nextInt()`、`nextDouble()`等:这些方法用于读取特定类型的值,例如整数和浮点数。它们会在用户输入正确的类型值后停止读取。如果输入不符合预期的格式(例如用户输入一个字符串而非整数),这些方法可能会抛出异常。因此,最好使用try-catch语句来处理这些异常。
* `hasNext()` 和 `hasNextInt()` 等方法:这些方法用于检查下一个输入是否是特定类型(例如整数)。如果下一个输入是预期的格式,这些方法将返回true;否则返回false。这对于避免在尝试读取错误类型的值时抛出异常非常有用。
下面是一个简单的示例程序,演示了如何使用Scanner读取用户的输入:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行文本:");
String line = scanner.nextLine(); // 读取一行文本并保存到变量line中
System.out.println("你输入的文本是:" + line); // 输出用户输入的文本
System.out.println("请输入一个整数:");
if (scanner.hasNextInt()) { // 检查下一个输入是否为整数
int number = scanner.nextInt(); // 如果是整数,读取并保存到变量number中
System.out.println("你输入的整数是:" + number); // 输出用户输入的整数
} else { // 如果下一个输入不是整数,输出错误提示信息并结束程序
System.out.println("输入的不是整数");
}
scanner.close(); // 关闭Scanner对象以释放资源
}
}
```
请注意,当你完成使用Scanner后,应该调用其`close()`方法来关闭它,以释放系统资源。