如何用java读入数值
读取单个数值
使用 Scanner 类从标准输入(如键盘)读取数值。
import java.util.Scanner;
public class ReadSingleNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt(); // 读取整数
double decimal = scanner.nextDouble(); // 读取浮点数
scanner.close(); // 关闭Scanner
}
}
读取多个数值(以空格或换行分隔)
通过循环结合 Scanner 的 hasNext() 方法读取多个数值。
import java.util.Scanner;
public class ReadMultipleNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) {
int num = scanner.nextInt();
System.out.println("Read: " + num);
}
scanner.close();
}
}
从文件中读取数值
使用 Scanner 结合 File 类读取文件中的数值。
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class ReadFromFile {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("numbers.txt"));
while (scanner.hasNextDouble()) {
double value = scanner.nextDouble();
System.out.println("File value: " + value);
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
处理异常情况
捕获输入不匹配的异常(如输入非数字时)。
import java.util.Scanner;
import java.util.InputMismatchException;
public class HandleInputError {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
int num = scanner.nextInt();
System.out.println("Valid input: " + num);
} catch (InputMismatchException e) {
System.out.println("Invalid input. Please enter a number.");
} finally {
scanner.close();
}
}
}
使用 BufferedReader 读取数值
适用于高性能场景或需要逐行处理的情况。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderExample {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = reader.readLine(); // 读取一行
int num = Integer.parseInt(line); // 转换为整数
System.out.println("Parsed number: " + num);
}
}
注意事项
- 使用
Scanner后需调用close()释放资源。 - 文件操作需处理
FileNotFoundException。 - 数值转换时需捕获
NumberFormatException。






