HOWTO · Java
如何在 Java 中从控制台获取输入
本教程展示了 Scanner 类中包含的读取控制台输入的各种功能。
本页内容
在本教程中,我们将查看 Java 中的 Scanner 类,并学习如何使用该类从控制台读取输入。Scanner 类来自于 Java 包 java.util.Scanner。
在下面的例子中,我们将通过 Scanner 类的方法来读取不同数据类型的输入,如 String、Int 和 boolean。
使用 Java 中的 Scanner 类从控制台获取输入
String 数据类型通常用于从控制台获取输入。Scanner 有两个函数 next() 和 nextLine(),它们把输入当作 String。这两个函数的不同之处在于,next() 在遇到空格之前都会接受输入,而 nextLine() 则会读取输入,直到看到新的行。
在我们的例子中,我们使用 nextLine() 方法,因为我们可能希望在一行中有多个单词。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Please enter your name: ");
Scanner sc = new Scanner(System.in);
String yourName = sc.nextLine();
System.out.println("Hello " + yourName);
}
}
输出:
Please enter your name:
Mike Stuart
Hello Mike Stuart
使用 Java 中的 Scanner 类读取整数输入
我们也可以使用 Scanner 从控制台获取 int 值。nextInt() 帮助我们读取 int 值。在下面的例子中,它询问年龄,通常读作 int。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Please enter your age: ");
Scanner sc = new Scanner(System.in);
int scanAge = sc.nextInt();
System.out.println("You are " + scanAge + " years old");
}
}
输出:
Please enter your age:
23
You are 23 years old
使用 Java 中的 Scanner 类读取布尔值输入
我们也可以使用布尔值作为输入。Scanner.nextBoolean() 只读取 true 和 false 或 0 和 1。
在下面的例子中,我们接收输入,然后检查输入是 true 还是 false。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Are you studying in college? Answer as True or False");
Scanner scanStudy = new Scanner(System.in);
boolean studyingInCollege = scanStudy.nextBoolean();
if (studyingInCollege) {
System.out.println("You are studying in college");
} else {
System.out.println("You are not studying in college");
}
}
}
输出:
Are you studying in college? Answer as True or False
false
You are not studying in college