Java-控制台接受用户输入数据的方法
1 package 控制台接受输入;
2
3 import java.io.BufferedReader;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.io.InputStreamReader;
7 import java.nio.Buffer;
8 import java.util.Scanner;
9
10 public class InputCode {
11 public static void main(String[] args) throws IOException {
12 /*
13 * Scanner类中的方法
14 * 完美
15 */
16 Scanner input =new Scanner(System.in);
17 System.out.println("please input your name ");
18 String name=input.nextLine();
19 System.out.println(name);
20 /*
21 * 缺点:只能接受用户输入的一个字符
22 */
23 System.out.println("enter your name");
24 char name1 = 0;
25 try {
26 //inputstream中的read()方法放回输入流中下一个字符
27 name1 = (char) System.in.read();
28 } catch (IOException e) {
29 e.printStackTrace();
30 }
31 System.out.println(name1);
32 /*
33 * InputStreamReader和BufferedReader方法
34 * 优点:可以获取字符串
35 * 缺点:获取的是int或者string人需要强转
36 */
37 //通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader
38 //包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,
39 //BufferedReader in= new BufferedReader(new FileReader("foo.in"));
40 System.out.println("enter your name");
41 InputStreamReader input1=new InputStreamReader(System.in);
42 BufferedReader in=new BufferedReader(input1);
43 String name2=in.readLine();
44 System.out.println(name2);
45 }
46 }