Java使用Scanner類別的hasNext()函數判斷輸入流中是否還有下一個元素
在Java程式設計中,經常需要從輸入流讀取使用者的輸入資料。 Scanner類是Java提供的一個強大且易於使用的工具類,它可以幫助我們有效率地處理輸入流的資料。
hasNext()是Scanner類別提供的一個很有用的函數,它可以用來判斷輸入流中是否還有下一個元素。此函數傳回一個布林值,如果輸入流中還有下一個元素,即傳回true;如果輸入流已完全讀取,即傳回false。這個函數的彈性使得我們可以根據需要編寫出更健壯的程式。
下面是一個使用hasNext()函數的簡單範例:
import java.util.Scanner; public class ScannerExample { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一组整数,以空格分隔:"); while (scanner.hasNext()) { if (scanner.hasNextInt()) { // 判断下一个元素是否为整数 int num = scanner.nextInt(); // 读取一个整数 System.out.println("读取到整数:" + num); } else { String str = scanner.next(); // 读取一个字符串 System.out.println("读取到字符串:" + str); } } scanner.close(); } }
在上述程式碼中,我們建立了一個Scanner對象,並使用System.in作為輸入流。然後,我們在while迴圈中不斷使用hasNext()函數判斷輸入流中是否還有下一個元素,如果有則繼續讀取。在讀取過程中,我們使用hasNextInt()函數來判斷下一個元素是否為整數,如果是,則讀取並列印對應的整數;否則,讀取並列印字串。
我們可以根據具體的需求來擴充。例如,可以根據hasNextDouble()來判斷輸入流中下一個元素是否為double型別;也可以根據hasNextLine()來判斷輸入流中是否還有下一行資料。
值得注意的是,在使用hasNext()函數判斷輸入流中是否還有下一個元素時,我們需要保證輸入流沒有關閉。在程式碼範例中,我們透過呼叫scanner.close()來關閉輸入流,確保程式的正常退出。
總的來說,Java中的Scanner類別提供了方便快速的輸入流資料處理方式。其中的hasNext()函數讓我們可以輕鬆地判斷輸入流中是否還有下一個元素,從而寫出更強壯且可靠的程式碼。
透過掌握Scanner類別的常用方法,我們可以更有效率地處理使用者的輸入數據,提升程式的使用者體驗和可靠性。希望這篇文章能對你學習並使用Java進行輸入流處理有所幫助。
以上是Java使用Scanner類別的hasNext()函數來判斷輸入流中是否還有下一個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!