1、Java 使用Scanner类获取用户输入
Scanner
类用于获取用户输入,可以在java.util
包中找到。
要使用Scanner
类,需要创建该类的对象,并使用Scanner
类中提供的可用方法。在我们的示例中,我们将使用nextLine()
和next()
方法,该方法用于读取字符串:
例如:
import java.util.Scanner; // 导入Scanner
public class Main {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in); // 创建Scanner对象
System.out.println("请输入用户名");
String userName = myObj.nextLine(); // 读取用户输入
System.out.println("UserName = " + userName); // 输出用户的输入
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
if (scanner.hasNext()) {
String str1 = scanner.next();
System.out.println("Input:" + str1);
}
scanner.close();
}
}
next()和nextLine()的区别:
next()
不会获取字符前或后的空格或Tab键,只获取字符,开始获取字符(字符前后不算)直到遇到空格或Tab键或回车截止获取;nextLine()
获取字符前后的空格或Tab键,回车键截止。
2、获取指定类型的输入
在上面的示例中,我们使用了nextLine()方法,该方法用于读取字符串。要获取其他类型的输出,请查看下表:
方法 | 描述 |
nextBoolean() | 从用户输入读取boolean值 |
nextByte() | 从用户输入读取byte值 |
nextDouble() | 从用户输入读取double值 |
nextFloat() | 从用户输入读取float值 |
nextInt() | 从用户输入读取int值 |
nextLine() | 从用户输入读取String值 |
nextLong() | 从用户输入读取long值 |
nextShort() | 从用户输入读取short值 |
在下面的示例中,我们使用不同的方法来读取各种类型的数据:
例如:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in);
System.out.println("请输入姓名、年龄、体重:");
// String 输入
String name = myObj.nextLine();
// 数字 输入
int age = myObj.nextInt();
double wt = myObj.nextDouble();
// 输出信息
System.out.println("姓名: " + name);
System.out.println("年龄: " + age);
System.out.println("体重: " + wt);
}
}
注意:如果输入错误(例如,使用nextInt()
获取Int值,但输入的是字母就会报错。),则会收到异常错误消息(例如,InputMismatchException
)。