java獲取輸入流的幾種方法

在程序開發過程中,我們經常需要從鍵盤獲取輸入值,c語言給我們提供了scanf(),C++給我們提供了cin(),但是在java中,並沒有給我們提供這樣的平臺,那我們應該如何實現呢? 
以下將列出幾種方法: 

1.從控制檯接收一個字符,然後將其打印出來 
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,當我們輸入一個數字,希望得到的也是一個整型變量的時候,我們還得修改其中的變量類型,這樣就顯得比較麻煩。

2.從控制檯接收一個字符串,然後將其打印出來。 在這個題目中,我們需要用到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); 
} 

這樣我們就能獲取我們輸入的字符串。 

3.這種方法我認爲是最簡單,最強大的,就是用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類型的變量,只需做一點小小的改變,就能夠實現功能!無疑他是最強大的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章