如何在 Java 中获取用户输入
Rupam Yadav
2023年1月30日
2020年11月24日
在本文中,我们将讨论在 Java 中获取用户输入的最佳方法。虽然有很多方法,但其中一些方法已经被废弃,因此我们将避免使用它们。
在 Java 中 Scanner
获取用户输入的方法
我们可以使用 Scanner
来实现我们的目标。我们需要创建一个类的对象,并将 System.in
传递给它的构造函数,因为它打开了一个 InputStream
来获取用户的输入。
下一步就是使用 Scanner
对象,并调用下面的一个方法。每个方法都会获取不同数据类型的输入值。
方法 | 说明 |
---|---|
next() |
字符串值 |
nextInt() |
整数值 |
nextByte() |
字节值 |
nextLong() |
长值 |
nextFloat() |
浮动值 |
nextDouble() |
双值 |
在下面的例子中,我们将使用 nextInt()
方法,该方法取整数值。
例子:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner inputReader = new Scanner(System.in);
System.out.println("Enter a number: ");
int number = inputReader.nextInt();
System.out.println("Your entered number was: "+number);
}
}
输出:
Enter a number:
454
Your entered number was: 454
在 Java 中 BufferedReader
获取用户输入
我们有另一个类可以从用户那里获得输入。BufferedReader
使用字符流从输入中读取文本,而 Scanner
可以用于原始类型的输入。
这意味着它没有像 BufferedReader
类中的 nextInt()
这样的方法,但有一个 readLine()
方法,它可以接受输入,然后我们可以在后面对其进行解析。
在下面的例子中,我们把输入作为一个 int
。我们必须读取输入,然后使用 Integer.parseInt(String)
将其解析为 int
类型。我们应该用 try-catch
块包围语句,因为如果没有外部输入设备,可能会出现 IOException。
例子:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
try {
System.out.println("Please enter a number: ");
String s = br.readLine();
int i = Integer.parseInt(s);
System.out.println("Your entered number was: "+i);
} catch (IOException e) {
e.printStackTrace();
}
br.close();
}
}
输出:
Please enter a number:
454
Your entered number was: 454
Author: Rupam Yadav
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn