如何在 Java 中獲取用戶輸入 [附示例]

已發表: 2021-05-27

目錄

介紹

在 Java 中接受用戶輸入是用 Java 創建成功軟件的第一步。 Java 程序通過各種輸入源(如鼠標、鍵盤、網絡請求、CLI 參數等)從用戶那裡收集輸入。Java也有各種 I/O 包,可以導入到程序中以執行輸入輸出操作。 這些包支持基本類型的輸入,如雙精度、整數、字符串等。

本文將重點介紹像 Scanner、BufferedReader 和 InputStreamReader 這樣的方法來獲取Java 中的用戶輸入

如何使用 Scanner 類在 Java 中獲取輸入?

Scanner 類是“java.util”包中解析和處理所有原始類型輸入的方法之一。 Scanner 類要求用戶輸入輸入,然後在屏幕或控制台上打印相同的內容。 您可以從程序中的“java.util”包中導入 Scanner 類,並創建一個對像以使用其方法。

例如,

掃描儀測試 = 新掃描儀(System.in);

在上面的語句中,test 是一個對象的名字,System.in 是輸入流。 創建的 Scanner 實例將掃描Java 中的用戶輸入

注意:不必將 System.in 寫為程序中的輸入字符串。 您可以將其替換為文件和要讀取的文件,字符串作為輸入流。

例如,

Scanner test = new Scanner(new FileInputStream(“testFile.txt”), “UTF-8”);

確保在完成編輯後編寫代碼 {test.close()} 以關閉掃描儀。

用於讀取用戶輸入的掃描器方法

下表列出了掃描程序用於讀取用戶輸入的 Java輸入的方法。

方法返回類型描述
下一個() 細繩從 Scanner 返回下一個令牌
下一個字節() 字節將下一個輸入讀取為一個字節。
下一個浮動() 漂浮將下一個輸入讀取為浮點數。
下一個整數() 整數將下一個輸入讀取為整數。
下一個短() 短的將下一個輸入讀取為短。
下一個長() 將下一個輸入讀為 long。
nextBoolean() 布爾值將下一個輸入讀取為布爾值並返回值。
下一行() 細繩將掃描儀前進一行並返回跳過的輸入。

例子

以下 Java 程序使用 Scanner 類在 Java 中獲取用戶輸入(字符串、整數和浮點數)。

導入 java.util.Scanner;

類 TakeUserInput

{

公共靜態無效主(字符串參數 [])

{

詮釋一個;

浮動 b;

字符串 c;

掃描儀測試 = 新掃描儀(System.in);

//將用戶輸入作為字符串

System.out.println("輸入字符串:");

c = in.nextLine();

System.out.println(“用戶輸入字符串為:”+c);

//將用戶輸入作為整數

System.out.println("輸入一個整數:");

a = in.nextInt();

System.out.println(“用戶輸入整數為:”+a);

//將用戶輸入作為浮點數

System.out.println("輸入一個浮點數:");

b = in.nextFloat();

System.out.println(“用戶輸入浮點數為:”+b);

}}

輸出

鍵入一個字符串:

安德魯

用戶輸入字符串為:Andrew

輸入一個整數:

03

用戶輸入整數為:03

輸入浮點數:

61.46

用戶輸入浮點數為:61.46

如果您想了解有關使用掃描程序類在 Java 中輸入的更多信息,請查看使用掃描程序博客的 Java 中的多字符串輸入

BufferedReader 和 InputStreamReader 方法

BufferedReader 是 Java 中的另一個類,它從基於字符的輸入流中掃描字符流。 InputStreamReader 是 Java 中的一個函數,它將輸入流轉換為字符序列供 BufferedReader 掃描。 BufferedReader 類接受 InputStream 作為參數。

BufferedReader 類使用 read() 和 readLine() 方法讀取字符和下一行並返回它們。

您必須導入 java.io.BufferedReader 包來創建 BufferedReader 類。

// 創建一個文件讀取器

FileReader test = new FileReader(String file);

// 創建一個 BufferedReader

BufferedReader a = new BufferedReader(test);

從世界頂級大學在線獲得軟件工程學位獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

用於從用戶讀取輸入的 BufferedReader 方法

下表列出了緩衝讀取器用於讀取用戶輸入的 Java輸入的方法。

方法描述
準備好() 驗證文件閱讀器是否處於讀取狀態。
標記() 標記已讀取數據的緩衝讀取器中的位置。
重置() 將控件返回到設置標記的點。

例子

以下 Java 程序使用 BufferedReader 類和 InputStreamReader 類來獲取Java 中的用戶輸入

導入 java.io.BufferedReader;

導入 java.io.FileReader;

導入 java.io.IOException;

公共類測試{

公共靜態無效主要(字符串[]參數){

BufferedReader 緩衝區 = null;

嘗試 {

字符串掃描第一行;

buffer = new BufferedReader(new FileReader(“D:\\user_input.txt”));

while ((scanFirstLine = buffer.readLine()) != null) {

System.out.println(scanFirstLine);

}

} 捕捉(IOException a){

a.printStackTrace();

} 最後 {

嘗試 {

如果(緩衝區!= null)

緩衝區.close();

} 捕捉(IOException b){

b.printStackTrace();

} } } }

輸出

在文件中可以找到以下數據:

這是 BufferedReader 從文件中讀取的示例語句。

在上面的示例中,我們創建了一個名為 buffer 的緩衝讀取器。 緩衝閱讀器與“user_input.txt”文件鏈接。

然後,我們使用 readLine() 方法從緩衝閱讀器的緩衝區中掃描字符。

結論

在本文中,我們介紹了用於在 Java 中獲取用戶輸入的方法 我們已經討論了 Scanner 和 BufferedReader 方法以及示例。 我們還討論了 Scanner 和 BufferedReader 類在 Java 中用於獲取輸入的方法 我們希望您對如何在 Java 中處理輸入有一個基本的了解 如果您想了解更多 Java 編程語言,請查看 upGrad為工作專業人士設計的全棧開發執行 PG 課程

立即規劃您的軟件開發職業。

申請 upGrad 的軟件工程與工作相關的 PG 認證