在Java中,`Scanner` 类是 `java.util` 包的一部分,它简化了文本扫描的复杂性,可以从标准输入流(如键盘)读取数据。下面是一个简单的示例,展示了如何使用 `Scanner` 类来读取用户输入的整数和字符串。
import java.util.Scanner; // 导入Scanner类
public class ScannerExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建Scanner对象,用于读取标准输入
// 读取并打印一个整数
System.out.println("请输入一个整数:");
int number = scanner.nextInt(); // 读取整数
System.out.println("您输入的整数是:" + number);
// 读取并打印一个字符串
System.out.println("请输入一个字符串:");
scanner.nextLine(); // 读取并忽略掉nextInt()后的换行符
String str = scanner.nextLine(); // 读取字符串
System.out.println("您输入的字符串是:" + str);
// 关闭scanner
scanner.close();
}
}
**注意**:
- 在读取一个整数(或其他基本数据类型)之后立即读取一个字符串时,需要调用 `scanner.nextLine()` 一次来消耗掉整数输入后留在输入流中的换行符,否则字符串会立即返回空字符串(因为它读取了换行符作为输入)。
- 在结束使用 `Scanner` 对象后,应该调用 `close()` 方法来关闭它,释放与之关联的资源。但请注意,如果 `Scanner` 对象是在 `main` 方法中创建的,并且 `main` 方法是程序的最后一个操作,则关闭它可能不是必需的,因为程序结束时会自动关闭所有打开的资源。然而,在更复杂的应用程序中,显式关闭资源是一个好习惯。