如何在 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 課程。