在Java開發中,我們常常需要接受用戶的輸入,以此來處理各種業務場景。而Scanner是一種很常用的實現輸入操作的工具。本文將從多個方面介紹如何使用Java Scanner實現輸入操作。
一、Scanner概述
Scanner是一個便捷的類,可以用於讀取用戶的輸入,同時還可以進行各種數據類型的轉換,例如字符串、數字、布爾值等。在使用Scanner時,我們需要導入 java.util.Scanner 包。
Scanner的常用方法有:
Scanner sc = new Scanner(System.in); String str = sc.nextLine(); // 讀取字符串 int i = sc.nextInt(); // 讀取整型 double d = sc.nextDouble(); // 讀取雙精度浮點型 boolean b = sc.nextBoolean(); // 讀取布爾型
通過這些方法,我們可以輕鬆實現用戶輸入的獲取和處理。
二、讀取字符串
使用Scanner讀取字符串非常簡單,可以使用 next() 或 nextLine() 方法來獲取。next() 方法只能獲取下一個以空格分隔的單詞,而 nextLine() 方法則可以獲取整行字符串。
Scanner sc = new Scanner(System.in); String str1 = sc.next(); // 讀取一個單詞 String str2 = sc.nextLine(); // 讀取一行字符串
需要注意的是,如果在讀取完其他數據類型後再讀取字符串時,需要先調用一次 nextLine(),否則會出現異常。
Scanner sc = new Scanner(System.in); int i = sc.nextInt(); sc.nextLine(); // 讀取多餘的回車符 String str = sc.nextLine();
三、讀取數值類型
Scanner同樣可以讀取各種數值類型,例如整數、浮點數等。讀取整數可以使用 nextInt() 方法,讀取其他數值類型時同理。
Scanner sc = new Scanner(System.in); int i = sc.nextInt(); // 讀取一個整數 double d = sc.nextDouble(); // 讀取一個雙精度浮點數
需要注意的是,如果Scanner讀取到的不是數值類型,而我們卻使用了相應的方法來讀取,會出現 InputMismatchException 異常。此時需要使用 hasNextInt() 等方法進行判斷,以避免程序崩潰。
Scanner sc = new Scanner(System.in); if (sc.hasNextInt()) { int i = sc.nextInt(); } else { System.out.println("請輸入整數!"); }
四、讀取布爾類型
當我們需要讀取一個布爾類型時,可以使用 nextBoolean() 方法。
Scanner sc = new Scanner(System.in); boolean b = sc.nextBoolean();
需要注意的是,當輸入錯誤時,會出現 NoSuchElementException 異常。此時可以使用 hasNextBoolean() 方法進行判斷。
Scanner sc = new Scanner(System.in); if (sc.hasNextBoolean()) { boolean b = sc.nextBoolean(); } else { System.out.println("請輸入 true 或 false!"); }
五、Scanner關閉
在使用完Scanner後,我們需要手動關閉它。如果不關閉,可能會造成內存泄漏和資源浪費等問題。
Scanner sc = new Scanner(System.in); // 讀取數據 sc.close(); // 關閉Scanner
六、總結
Scanner是一種常用的Java工具類,可以方便地實現用戶輸入的獲取和處理。通過本文的介紹,讀者可以了解到Scanner的基本用法,並可以靈活運用到各種業務場景中。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/309137.html