java從鍵盤輸入的三種方法
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.Scanner;
- public class EnterTest {
- public static void main(String[] args) { //主方法
- CharTest(); //調用System.in方法
- ReadTest(); //調用ReadTest方法
- ScannerTest();//調用ScannerTest方法
- }
- /**
- * System.in和System.out方法
- * 缺點一: 該方法能獲取從鍵盤輸入的字符,但只能針對一個字符的獲取
- * 缺點二: 獲取的只是char類型的。如果想獲得int,float等類型的輸入,比較麻煩。
- */
- public static void CharTest(){
- try{
- System.out.print("Enter a Char:");
- char i = (char)System.in.read();
- System.out.println("Yout Enter Char is:" + i);
- }
- catch(IOException e){
- e.printStackTrace();
- }
- }
- /**
- * InputStreamReader和BufferedReader方法
- * 優點: 可以獲取鍵盤輸入的字符串
- * 缺點: 如何要獲取的是int,float等類型的仍然需要轉換
- */
- public static void ReadTest(){
- System.out.println("ReadTest, Please Enter Data:");
- InputStreamReader is = new InputStreamReader(System.in); //new構造InputStreamReader對象
- BufferedReader br = new BufferedReader(is); //拿構造的方法傳到BufferedReader中
- try{ //該方法中有個IOExcepiton需要捕獲
- String name = br.readLine();
- System.out.println("ReadTest Output:" + name);
- }
- catch(IOException e){
- e.printStackTrace();
- }
- }
- /**
- * Scanner類中的方法
- * 優點一: 可以獲取鍵盤輸入的字符串
- * 優點二: 有現成的獲取int,float等類型數據,非常強大,也非常方便;
- */
- public static void ScannerTest(){
- Scanner sc = new Scanner(System.in);
- System.out.println("ScannerTest, Please Enter Name:");
- String name = sc.nextLine(); //讀取字符串型輸入
- System.out.println("ScannerTest, Please Enter Age:");
- int age = sc.nextInt(); //讀取整型輸入
- System.out.println("ScannerTest, Please Enter Salary:");
- float salary = sc.nextFloat(); //讀取float型輸入
- System.out.println("Your Information is as below:");
- System.out.println("Name:" + name +"\n" + "Age:"+age + "\n"+"Salary:"+salary);
- }
- }