阅读量:0
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("没有下一个整数"); } } }