java如何键盘输入
使用Scanner类
Java中可以通过java.util.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("请输入一个字符串: ");
String str = scanner.next();
System.out.println("输入的整数: " + num);
System.out.println("输入的字符串: " + str);
scanner.close();
}
}
Scanner类常用方法:
nextInt():读取整数nextDouble():读取双精度浮点数next():读取字符串(以空格为分隔符)nextLine():读取整行字符串hasNext():检查是否有更多输入
使用BufferedReader类
对于更高效的输入处理,可以使用BufferedReader类配合InputStreamReader。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入一行文本: ");
String line = reader.readLine();
System.out.println("输入的文本: " + line);
reader.close();
}
}
BufferedReader的readLine()方法可以读取整行输入,但所有输入都作为字符串处理,需要手动转换类型。
处理输入异常
在实际应用中,应该处理可能的输入异常。

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("请输入一个整数: ");
int num = scanner.nextInt();
System.out.println("输入的整数: " + num);
} catch (Exception e) {
System.out.println("输入格式错误");
} finally {
scanner.close();
}
}
}
读取多个输入值
Scanner可以方便地处理多个输入值。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入多个整数(空格分隔): ");
while(scanner.hasNextInt()) {
int num = scanner.nextInt();
System.out.println("读取到: " + num);
}
scanner.close();
}
}
读取文件输入
同样的方法可以用于读取文件输入,只需改变Scanner的构造参数。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try {
Scanner fileScanner = new Scanner(new File("input.txt"));
while(fileScanner.hasNextLine()) {
String line = fileScanner.nextLine();
System.out.println(line);
}
fileScanner.close();
} catch (FileNotFoundException e) {
System.out.println("文件未找到");
}
}
}






