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类型的变量,只需做一点小小的改变,就能够实现功能!无疑他是最强大的!