Java获取键盘输入的几种方式

source: http://www.cnblogs.com/shen-smile/p/5142949.html

方法一:

从控制台接收一个字符,然后将其打印出来

复制代码
public class Test {
    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);
    }
}
复制代码

样例输出:

Enter a Char:shen_smile
your char is :s

虽然此方式实现了从键盘获取输入的字符,但是System.in.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。

方法二:

从控制台接收一个字符串,然后将其打印出来。在这个题目中,我们需要用到BufferedReader类和InputStreamReader类

复制代码
public class Test {
    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);
    }
}
复制代码

样例输出:

Enter your value:
shen_smile
your value is :shen_smile

方法三:

这种方法可能是最简单,最强大的,就是Scanner类

复制代码
public class Test {
    public static void main(String [] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的姓名:");
        String name = scanner.nextLine();
        System.out.println("请输入你的年龄:");
        int age = scanner.nextInt();
        System.out.println("请输入你的工资:");
        float salary = scanner.nextFloat();
        System.out.println("你的信息如下:");
        System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
        scanner.close();
    }
}
复制代码

样例输出:

复制代码
请输入你的姓名:
shen_smile
请输入你的年龄:
18
请输入你的工资:
30000
你的信息如下:
姓名:shen_smile
年龄:18
工资:30000.0
复制代码

这段代码表明,Scanner类不管是对于字符串还是整型数据或者float类型的变量,只需做一点小小的改变,就能够实现功能!无疑他是最强大的!


posted @ 2022-04-29 22:36  WORDLESS  阅读(124)  评论(0编辑  收藏  举报