一、基本介紹
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println("輸入數字為:" + n); } }
nextint()是Java語言Scanner類中的一個方法,用於從輸入流中讀取一個整數。通常我們會使用Scanner類的next系列方法來讀取用戶輸入的數據,其中包括nextLine、nextInt、nextDouble等方法。其中,nextInt()方法是用來讀取整數類型數據的。
nextint()方法會讀取輸入流中的下一個整數,並將其作為方法的返回值返回。在讀取之前,nextint()方法會先檢查輸入流中是否存在下一個整數,若存在,則讀取並返回,若不存在則等待用戶輸入。在讀取整數之前,nextint()方法還可以忽略輸入流中的空白字符。
二、使用方法
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println("輸入數字為:" + n); } }
可以看到,使用nextint()方法非常簡單。首先,我們需要創建一個Scanner對象(這裡參數傳入System.in表示從控制台讀取輸入),然後直接調用nextInt()方法即可。在方法返回之後,我們就可以得到用戶輸入的數字了。
需要注意的是,如果輸入流中包含非法字符(如字母、符號等),則nextint()方法會拋出InputMismatchException異常。此時應該對異常進行捕獲或者提示用戶重新輸入。
在使用Scanner類時,我們還可以使用hasNextInt()方法來判斷輸入流中是否還有下一個整數。這個方法通常用於循環中,可以讓我們在讀取完最後一個數字後及時退出循環。例如:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNextInt()) { int n = sc.nextInt(); System.out.println("輸入數字為:" + n); } } }
三、常見問題
1. nextInt()方法如何忽略空白字符?
在讀取整數之前,nextint()方法會自動忽略輸入流中的空白字符,包括空格、製表符、回車等。如果希望讀取非數字字符,需要使用next()或nextLine()方法。
2. 如何避免InputMismatchException異常?
在使用nextint()方法時,如果輸入流中包含非法字符,則會拋出InputMismatchException異常。為了避免這種情況,我們可以在讀取數字之前先判斷輸入流中是否是一個合法的整數。下面是一個判斷整數的方法:
public static boolean isInteger(String str) { try { Integer.parseInt(str); return true; } catch (NumberFormatException e) { return false; } }
在使用next()或nextLine()方法讀取輸入時,也可以使用同樣的方法先判斷字符串是否是一個合法的整數。
3. nextInt()方法和nextInt(int radix)方法有什麼區別?
nextInt(int radix)方法是nextint()方法的重載方法,用於讀取指定進制的整數。默認情況下,nextInt()方法會讀取十進制整數,而nextInt(int radix)方法可以讀取2到36進制數。例如:
public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n1 = sc.nextInt(2); int n2 = sc.nextInt(16); System.out.println("二進制數為:" + n1); System.out.println("十六進制數為:" + n2); }
上述代碼讀取了一個二進制數和一個十六進制數,結果分別為:
輸入:1010 1D 輸出:二進制數為:10 十六進制數為:29
四、總結
nextint()方法是Java語言Scanner類中的一個方法,用於從輸入流中讀取一個整數。使用nextint()方法非常簡單,只需要創建Scanner對象並調用nextInt()方法即可。在使用nextint()方法時需要注意輸入流中是否有下一個整數,避免InputMismatchException異常的拋出。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/309996.html