在Java中,Scanner
是一个用于从标准输入、文件或字符串等来源读取数据的类。它提供了一种方便的方法来解析基本数据类型和字符串。以下是 Scanner
类的一些基本用法:
从标准输入读取数据(键盘输入):
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数: ");
int num = scanner.nextInt(); // 读取一个整数
System.out.print("请输入一个浮点数: ");
double decimal = scanner.nextDouble(); // 读取一个浮点数
System.out.print("请输入一个字符串: ");
String str = scanner.next(); // 读取一个字符串(遇到空格或换行符结束)
System.out.println("你输入的整数是: " + num);
System.out.println("你输入的浮点数是: " + decimal);
System.out.println("你输入的字符串是: " + str);
scanner.close(); // 记得关闭Scanner对象
}
}
在这个例子中,Scanner
类被用于从标准输入读取用户的整数、浮点数和字符串输入。
从文件中读取数据:
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class Main {
public static void main(String[] args) {
try {
File file = new File("input.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
} catch (FileNotFoundException e) {
System.out.println("文件未找到");
}
}
}
从字符串中读取数据:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String inputString = "Hello 123 3.14";
Scanner scanner = new Scanner(inputString);
String str = scanner.next(); // 读取字符串
int num = scanner.nextInt(); // 读取整数
double decimal = scanner.nextDouble(); // 读取浮点数
System.out.println("字符串: " + str);
System.out.println("整数: " + num);
System.out.println("浮点数: " + decimal);
scanner.close();
}
}
使用 Scanner
时,需要注意输入数据的类型和顺序,以避免 InputMismatchException
或 NoSuchElementException
异常。在每次读取之后,建议检查是否有更多的数据可供读取,以避免异常。