📜  JAVA 中的 SCANNER 类(1)

📅  最后修改于: 2023-12-03 15:31:32.946000             🧑  作者: Mango

JAVA 中的 Scanner 类

在 Java 中,Scanner 类被用于读取各种类型的输入,并将其转换为程序所需要的对应的数据类型。它可以读取从文件、键盘和网络 sockets 等类似资源获取的输入。Scanner 类位于 java.util 包中。

构造方法

Scanner 类有多个构造方法,以下为其中一些常用的构造方法:

1. Scanner(File source)

参数为文件类型,创建一个扫描器以从指定的文件读取输入。

// 创建一个 Scanner 对象以从文件读取输入
File file = new File("test.txt");
Scanner scanner = new Scanner(file);
2. Scanner(InputStream source)

参数为 InputStream 类型,创建一个扫描器以从指定的输入流读取输入。

// 创建一个 Scanner 对象以从标准输入读取输入
Scanner scanner = new Scanner(System.in);
读取输入

Scanner 类的 nextXXX() 方法可以读取各种类型的输入并将它们转换为对应的数据类型。下面是常用的一些方法:

1. next()

读取下一个字符串。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.next();
System.out.println("你输入的字符串是:" + str);
2. nextInt()

读取下一个整数。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = scanner.nextInt();
System.out.println("你输入的整数是:" + num);
3. nextDouble()

读取下一个双精度浮点数。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个双精度浮点数:");
double num = scanner.nextDouble();
System.out.println("你输入的双精度浮点数是:" + num);
4. hasNext()

判断输入是否还有下一个值,如果有则返回 true。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
if (scanner.hasNext()) {
    String str = scanner.next();
    System.out.println("你输入的字符串是:" + str);
} else {
    System.out.println("没有输入值。");
}
关闭 Scanner 对象

使用 Scanner 类读取完输入后,应该及时关闭 Scanner 对象以释放内存和关闭底层流。

Scanner scanner = new Scanner(System.in);
// 使用 Scanner 对象读取输入
scanner.close(); // 关闭 Scanner 对象