程式開發過程中,需要從鍵盤擷取輸入值是常有的事,但Java它偏偏就沒有像c語言給我們提供的scanf(),C++給我們提供的cin()擷取鍵盤輸入值的現成函數!Java沒有提供這樣的函數也不代表遇到這種情況我們就束手無策,請你看以下三種解決方案吧:
以下將列出幾種方法:
方法一:從控制台接收一個字元,然後將其列印出來
public static void main(String [] args) throws IOException{
System.out.print(“Enter a Char:”);
char i = (char) System.in.read();
System.out.println(“your char is :”+i);
}
}
雖然此方式實現了從鍵盤擷取輸入的字元,但是System.out.read()只能針對一個字元的擷取,同時,擷取進來的變數的類型只能是char,當我們輸入一個數字,希望得到的也是一個整型變數的時候,我們還得修改其中的變數類型,這樣就顯得比較麻煩。
方法二:從控制台接收一個字串,然後將其列印出來。在這個題目中,我們需要用到BufferedReader類和InputStreamReader類
public static void main(String [] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println(“Enter your value:”);
str = br.readLine();
System.out.println(“your value is :”+str);
}
這樣我們就能擷取我們輸入的字串。
方法三:這種方法我認為是最簡單,最強大的,就是用Scanner類
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.println(“請輸入你的姓名:”);
String name = sc.nextLine();
System.out.println(“請輸入你的年齡:”);
int age = sc.nextInt();
System.out.println(“請輸入你的工資:”);
float salary = sc.nextFloat();
System.out.println(“你的資訊如下:”);
System.out.println(“姓名:”+name+“\n”+“年齡:”+age+“\n”+“工資:”+salary);
}
這段代碼已經表明,Scanner類不管是對於字串還是整型資料或者float類型的變數,只需做一點小小的改變,就能夠實現功能!無疑他是最強大的!