以下是一些关于 Scanner 类的基本用法:
1. 从键盘读取输入:
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
// 创建 Scanner 对象,用于读取键盘输入
Scanner scanner = new Scanner(System.in);
System.out.println("Enter your name: ");
String name = scanner.nextLine(); // 读取一行输入
System.out.println("Hello, " + name + "!");
System.out.println("Enter your age: ");
int age = scanner.nextInt(); // 读取整数
System.out.println("You are " + age + " years old.");
// 关闭 Scanner 对象
scanner.close();
}
}
2. 从文件读取输入:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileScannerExample {
public static void main(String[] args) {
try {
// 创建 Scanner 对象,用于读取文件
Scanner fileScanner = new Scanner(new File("input.txt"));
// 逐行读取文件内容
while (fileScanner.hasNextLine()) {
String line = fileScanner.nextLine();
System.out.println(line);
}
// 关闭 Scanner 对象
fileScanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
3. 解析输入:
Scanner 类提供了一系列的 nextXXX() 方法,用于解析不同类型的输入。
import java.util.Scanner;
public class ParseInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner("John 25 75.5 true");
String name = scanner.next();
int age = scanner.nextInt();
double weight = scanner.nextDouble();
boolean isStudent = scanner.nextBoolean();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Weight: " + weight);
System.out.println("Is Student: " + isStudent);
scanner.close();
}
}
Scanner 类还提供了方法用于判断输入中是否还有下一个元素(hasNext()、hasNextInt() 等),以及跳过输入中的分隔符(useDelimiter())等。
需要注意的是,在实际应用中,要确保输入的格式与代码中的解析方式相匹配,以避免异常。
转载请注明出处:http://www.zyzy.cn/article/detail/421/Java