1 程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧:
2
3 以下将列出几种方法:
4
5 方法一:从控制台接收一个字符,然后将其打印出来
6
7 public static void main(String [] args) throws IOException{
8
9 System.out.print(“Enter a Char:”);
10
11 char i = (char) System.in.read();
12
13 System.out.println(“your char is :”+i);
14
15 }
16
17 }
18
19 虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。
20
21 方法二:从控制台接收一个字符串,然后将其打印出来。在这个题目中,我们需要用到BufferedReader类和InputStreamReader类
22
23 public static void main(String [] args) throws IOException{
24
25 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
26
27 String str = null;
28
29 System.out.println(“Enter your value:”);
30
31 str = br.readLine();
32
33 System.out.println(“your value is :”+str);
34
35 }
36
37 这样我们就能获取我们输入的字符串。
38
39 方法三:这种方法我认为是最简单,最强大的,就是用Scanner类
40
41 public static void main(String [] args) {
42
43 Scanner sc = new Scanner(System.in);
44
45 System.out.println(“请输入你的姓名:”);
46
47 String name = sc.nextLine();
48
49 System.out.println(“请输入你的年龄:”);
50
51 int age = sc.nextInt();
52
53 System.out.println(“请输入你的工资:”);
54
55 float salary = sc.nextFloat();
56
57 System.out.println(“你的信息如下:”);
58
59 System.out.println(“姓名:”+name+“\n”+“年龄:”+age+“\n”+“工资:”+salary);
60
61 }
62
63 这段代码已经表明,Scanner类不管是对于字符串还是整型数据或者float类型的变量,只需做一点小小的改变,就能够实现功能!无疑他是最强大的!