Java接受键盘输入

 1 import java.util.Scanner;//方法1
 2 import java.io.BufferedReader;//方法2
 3 import java.io.IOException;//方法3
 4 import java.io.InputStreamReader;//方法2
 5 
 6 
 7 public class InputTest{
 8     
 9     public static void main(String args[]) throws IOException{
10     // 这个抛出异常是因为方法三
11         /*
12          * 获取键盘输入方法一
13          */        
14         Scanner input = new Scanner(System.in);
15         System.out.print("方法一输入:");
16         String s  = input.nextLine();
17         System.out.println("输入内容为:"+s);
18         input.close();
19 
20         // 获取键盘输入方法二
21         InputStreamReader isr = new InputStreamReader(System.in);
22         BufferedReader br = new BufferedReader(isr);
23         System.out.print("方法2输入: ");
24         String line;
25         try {
26             line = br.readLine();
27             System.out.println("Show: " + line);
28         } catch (IOException e) {
29             e.printStackTrace();
30         } finally {
31        
32         }
33         
34         // 获取键盘输入方法三
35         System.out.print("Enter a Char:"); 
36         char i = (char) System.in.read(); 
37         System.out.println("your char is :"+i); 
38     }
39 }

方法1:有一个需要注意的地方,就是nextLine()函数。next()和nextLine()的区别:在java中,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。

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

posted @ 2016-07-28 00:37  启铭星  阅读(4718)  评论(0编辑  收藏  举报