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,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。