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