首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 接收鍵盤輸入三種方式比較

     編輯:Java 相關知識

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();
        ReadTest();
        ScannerTest();
    }

    /** System.in.read() 方法
     * 缺點一: 僅能取得單一字元
     * 缺點二: 僅能取得 char 型別,轉換 int/float 較麻煩 */
    public static void CharTest() {
        try {
            System.out.print("Enter a Char:");
            char i = (char) System.in.read();
            System.out.println("Your 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);
        BufferedReader br = new BufferedReader(is);
        try {
            String name = br.readLine();
            System.out.println("ReadTest Output:" + name);
        } catch (IOException e) { e.printStackTrace(); }
    }

    /** Scanner 類別
     * 優點一: 可取得字串
     * 優點二: 內建 nextInt、nextFloat 等方法,極其方便強大 */
    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();
        System.out.println("Your Information is as below:");
        System.out.println("Name:" + name + "\nAge:" + age + "\nSalary:" + salary);
    }
}

總結:
要取得鍵盤輸入:
Python 有 raw_input()/input(),C 有 scanf(),C++ 有 cin()。
Java 沒有現成函數,但可用上述三種方式完成,其中 Scanner 應該是最簡單、最方便的。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved