Java的Scanner类提供了一系列方法来简化输入操作。以下是一些常用的方法:
nextLine():读取一行文本,包括空格。这是最常用的方法之一。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一行文本:"); String input = scanner.nextLine(); System.out.println("你输入的是:" + input); }}nextInt():读取一个整数。如果输入的不是整数,会抛出InputMismatchException异常。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int number = scanner.nextInt(); System.out.println("你输入的整数是:" + number); }}nextDouble():读取一个双精度浮点数。如果输入的不是双精度浮点数,会抛出InputMismatchException异常。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个双精度浮点数:"); double decimal = scanner.nextDouble(); System.out.println("你输入的双精度浮点数是:" + decimal); }}nextFloat():读取一个单精度浮点数。如果输入的不是单精度浮点数,会抛出InputMismatchException异常。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个单精度浮点数:"); float singleDecimal = scanner.nextFloat(); System.out.println("你输入的单精度浮点数是:" + singleDecimal); }}nextBoolean():读取一个布尔值。如果输入的不是布尔值(“true"或"false”),会抛出InputMismatchException异常。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个布尔值(true或false):"); boolean flag = scanner.nextBoolean(); System.out.println("你输入的布尔值是:" + flag); }}next():读取下一个输入的token(标记)。token可以是任何数据类型,具体取决于输入的数据。这个方法需要配合nextLine()方法使用,以便在读取下一个token之前消耗掉换行符。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一行文本:"); scanner.nextLine(); // 消耗换行符 System.out.println("请输入一个整数:"); int number = scanner.nextInt(); System.out.println("你输入的整数是:" + number); }}hasNext():检查是否还有下一个输入的token。这个方法可以用来判断是否已经到达输入的末尾。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一行文本:"); scanner.nextLine(); // 消耗换行符 if (scanner.hasNextInt()) { System.out.println("请输入一个整数:"); int number = scanner.nextInt(); System.out.println("你输入的整数是:" + number); } else { System.out.println("没有下一个整数"); } }}