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)。