程序開發過程中,需要從鍵盤獲取輸入值是常有的事,但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類型的變量,只需做一點小小的改變,就能夠實現功能!無疑他是最強大的!