在Java中,有兩個非常常用的方法是next()方法和nextInt()方法。這兩個方法都是用來讀取用戶從控制臺輸入的下一個字符串或整數。雖然它們的名字很相似,但它們在讀取輸入時有著不同的行為。
import java.util.Scanner; public class UserInput { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("請輸入一個字符串:"); String str = scanner.next(); System.out.println("您輸入的字符串是:" + str); System.out.print("請輸入一個整數:"); int num = scanner.nextInt(); System.out.println("您輸入的整數是:" + num); scanner.close(); } }
在上面的代碼中,我們創建了一個Scanner對象來讀取用戶的輸入。然后使用next()方法讀取輸入的字符串,并將其存儲在名為str的字符串變量中。接著,我們使用nextInt()方法讀取下一個整數,并將其存儲在名為num的整數變量中。
當我們運行上面的代碼并輸入以下值:
請輸入一個字符串:Hello World 請輸入一個整數:123
那么輸出將是:
您輸入的字符串是:Hello 您輸入的整數是:123
你會發現,我們輸入的字符串“Hello World”卻只讀取了“Hello”。這是因為next()方法僅讀取輸入的第一個單詞,并將其存儲在字符串變量中。如果我們想要讀取整個輸入行,則需要使用nextLine()方法。而nextInt()方法僅讀取整數值,如果讀取的值不是整數,則會拋出InputMismatchException異常。