Java 用户输入(Scanner)

Java 用户输入

Scanner 类用于获取用户输入,它在 java.util 包中。

要使用 Scanner 类,请创建该类的对象,并使用 Scanner 类文档中的任何可用方法。在我们的示例中,我们将使用 nextLine() 方法,该方法用于读取字符串:

实例
  1. import java.util.Scanner; // 导入 Scanner 类
  2. public class Main {
  3. public static void main(String[] args) {
  4. Scanner myObj = new Scanner(System.in); // 创建 Scanner 对象
  5. System.out.println("Enter username");
  6. String userName = myObj.nextLine(); // 读取用户输入
  7. System.out.println("Username is: " + userName); // 输出用户输入
  8. }
  9. }

如果您不明白什么是包, 可以访问本站的 Java 包教程


输入类型

在上面的实例中,我们使用了 nextLine() 方法,该方法用于读取字符串。还有其他类型,请查看下表:

方法描述
nextBoolean()从用户处读取 boolean 布尔值
nextByte()从用户处读取 byte 字节
nextDouble()从用户处读取 double 双精度值
nextFloat()从用户处读取 float 浮点值
nextInt()从用户处读取一个 int 值
nextLine()从用户处读取 String 字符串值
nextLong()从用户处读取 long 长整形
nextShort()从用户处读取 short 短整形

在下面的实例中,我们使用不同的方法读取各种类型的数据:

实例
  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. Scanner myObj = new Scanner(System.in);
  5. System.out.println("Enter name, age and salary:");
  6. // String input
  7. String name = myObj.nextLine();
  8. // Numerical input
  9. int age = myObj.nextInt();
  10. double salary = myObj.nextDouble();
  11. // Output input by user
  12. System.out.println("Name: " + name);
  13. System.out.println("Age: " + age);
  14. System.out.println("Salary: " + salary);
  15. }
  16. }
注意:如果输入错误(例如在数字输入框中输入字符串),您将收到异常/错误消息(如 "InputMismatchException" )。

您可以在 异常 一章中学习到有关异常以及如何处理错误的更多知识。