在Java中,我們可以使用Scanner類來讀取用戶的輸入。Scanner類提供了一種簡單方便的方式來讀取控制台上的用戶輸入數據。本文將對Scanner類的使用做出詳細闡述,首先我們先來看看Scanner的基礎用法。
一、Scanner基礎用法
1、首先需要導入Scanner類,可以使用import java.util.Scanner;語句導入。
import java.util.Scanner;
2、然後需要創建Scanner對象,可以使用如下代碼創建一個Scanner對象:
Scanner scanner = new Scanner(System.in);
其中System.in表示輸入流,也就是控制台上的輸入流。我們將System.in作為Scanner的參數,使得Scanner從控制台上讀取用戶輸入數據。
3、接著,我們可以使用Scanner對象的next()方法來讀取用戶的輸入數據。next()方法會等待用戶輸入數據,並且在用戶輸入完畢後返回輸入數據:
String inputStr = scanner.next();
上述代碼會等待用戶輸入數據,並且將用戶輸入的數據賦值給inputStr變數。需要注意的是,next()方法會讀取到用戶輸入數據的第一個「空白字元」(比如空格、製表符、回車),如果需要讀取整行輸入數據,則可以使用nextLine()方法。
二、Scanner的高級用法
1、讀取不同數據類型
Scanner除了可以讀取字元串外,還可以讀取不同類型的數據欄位,例如:整數、浮點數、布爾等。我們可以使用Scanner對象的nextInt()、nextFloat()、nextBoolean()等方法來讀取不同類型的數據欄位。
例如,讀取一個整數:
int num = scanner.nextInt();
需要注意的是,如果在讀取非字元串類型數據時,用戶輸入的數據格式不正確,會拋出InputMismatchException異常,需要進行異常處理。
2、Scanner類的定界符
Scanner類還支持自定義定界符,定界符指的是在讀取字元串時用於分隔不同欄位的字元。默認情況下,Scanner使用空白字元作為定界符,但是我們可以通過調用Scanner對象的useDelimiter()方法來自定義定界符。
例如,使用逗號作為定界符:
scanner.useDelimiter(",");
這樣就會使Scanner使用逗號來分隔輸入的字元串。
3、Scanner類的輸入異常處理
在使用Scanner讀取用戶輸入時,需要考慮到輸入異常的情況,例如:用戶輸入的數據類型與我們需要讀取的數據類型不匹配時,我們需要進行相應的異常處理。可以使用try-catch語句來處理這些異常,如下所示:
try { int num = scanner.nextInt(); } catch (InputMismatchException e) { System.out.println("輸入的數據格式不正確!"); }
三、完整示例代碼
下面是使用Scanner讀取用戶輸入的完整示例代碼:
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸出一個整數:"); try { int num = scanner.nextInt(); System.out.println("你輸入的整數是:" + num); } catch (InputMismatchException e) { System.out.println("輸入的數據格式不正確!"); } } }
運行上述代碼,會提示用戶輸入一個整數,當用戶輸入時,程序會讀取輸入的整數,並輸出該整數。
四、總結
本文主要介紹了使用Scanner讀取用戶輸入的Java示例代碼,通過了解Scanner的基礎和高級用法,我們可以方便地讀取控制台上的用戶輸入。同時,在讀取用戶輸入時需要考慮到輸入異常的情況,可以使用try-catch語句來相應處理。
原創文章,作者:HEGD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145394.html