java获取键盘输入

来源:互联网 发布:facebook程序员面试题 编辑:程序博客网 时间:2024/05/29 16:56

1.使用System.in.read

此种方法能从控制台接收一个字符,并且将该字符打印出来

    public static void t1() throws IOException {        System.out.println("Enter a Char: ");        char c = (char) System.in.read();        System.out.println("your char is: " + c);    }

此方法的缺点显而易见:
1.每次只能获取一个字符。
2.read方法获取的是int类型,需要根据需求做各种类型转换。

2.使用BufferedReader

    public static void t2() {        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));        String str;        try {            System.out.println("please enter your name: ");            String name = br.readLine();            System.out.println("Your name is: " + name);        } catch (IOException e) {            e.printStackTrace();        }    }

这种方法可以从控制台接受一个字符串,。并且打印出来。但是这种方式对于多次输入也不是很方便。

3.使用Scanner

    public static void t3() {        Scanner sc = new Scanner(System.in);        System.out.println("please input your name: ");        String name = sc.nextLine();        System.out.println("please input your age: ");        int age = sc.nextInt();        System.out.println("please input your salary: ");        float salary = sc.nextFloat();        System.out.println("your msg is: ");        System.out.println("name: " + name + ", age: " + age + ", salary: " + salary);    }

从 JDK 5.0 开始,基本类库中增加了java.util.Scanner类,根据它的 API 文档说明,这个类是采用正则表达式进行基本类型和字符串分析的文本扫描器。使用它的Scanner(InputStream source)构造方法,可以传入系统的输入流System.in而从控制台中读取数据。

从这三种方式的对比很容易看出,用Scanner的方式获取数据是最容易与方便的!

原创粉丝点击