一、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-hant/n/371414.html
微信掃一掃
支付寶掃一掃