一、Scanner類
Scanner類是Java中用於讀取用戶輸入的類,它可以讀取字元串、整數和浮點數等類型的數據。使用Scanner類需要先導入java.util.Scanner包。下面是使用Scanner類讀取字元串和整數的示例代碼:
import java.util.Scanner; public class TestScanner { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("請輸入一個字元串:"); String str = scanner.nextLine(); System.out.println("您輸入的字元串是:" + str); System.out.print("請輸入一個整數:"); int num = scanner.nextInt(); System.out.println("您輸入的整數是:" + num); } }
二、BufferedReader類
BufferedReader類是Java中的一個字元輸入流,它可以按行讀取用戶輸入的數據。使用BufferedReader類需要先導入java.io.BufferedReader包。下面是使用BufferedReader類讀取用戶輸入的示例代碼:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class TestBufferedReader { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("請輸入一行字元串:"); String str = reader.readLine(); System.out.println("您輸入的字元串是:" + str); } }
三、Console類
Console類是Java 6中新增加的一個類,它可以從控制台讀取和寫入數據。使用Console類需要使用System.console()方法獲取Console對象,但是需要注意的是,該方法只能在標準I/O模式下有效,如果在Eclipse等開發工具下運行,則會返回null。下面是使用Console類讀取用戶輸入的示例代碼:
import java.io.Console; public class TestConsole { public static void main(String[] args) { Console console = System.console(); if (console != null) { System.out.print("請輸入一個字元串:"); String str = console.readLine(); System.out.println("您輸入的字元串是:" + str); char[] password = console.readPassword("請輸入你的密碼:"); System.out.println("您輸入的密碼是:" + new String(password)); } else { System.out.println("該程序無法在控制台上運行。"); } } }
四、Scanner vs BufferedReader vs Console
根據需要讀取的數據類型不同,可以選擇不同的輸入方式。下面是Scanner、BufferedReader和Console的比較:
- Scanner:適用於讀取單個字元串或整數等簡單類型的數據。
- BufferedReader:適用於按行讀取用戶輸入的字元串。
- Console:適用於讀取密碼等需要隱藏輸入內容的數據。
五、總結
本文介紹了Java中三種常用的輸入方式,包括Scanner類、BufferedReader類和Console類,並對它們的優缺點進行了比較。選擇合適的輸入方式有助於提高代碼的可讀性和性能。
原創文章,作者:MAKLD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/371414.html