如何在 Java 中獲取使用者輸入
Rupam Yadav
2023年10月12日
在本文中,我們將討論在 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
作者: 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