用读取键盘输入必须构建 
1。输入流 System.in; 
2。字符输入流 InputStreamReader 
3。缓存输入流 BufferedReader 
4。缓存输入流方法 readLine()//中文意思:读一行(遇上enter键) 
代码:BufferedReader keyInC=new BufferedReader(new InputStreamReader(System.in)); 谁分析一下BufferedReader keyInC=new BufferedReader(new InputStreamReader(System.in)); 的结构?在我的印象里,譬如我要往程序输入一个整数,我发现有个DataintputStream 类,我就用DataintputStream H=NEW DataintputStream();创建一个对象.然后我知道DataintputStream有个方法readInt();那我就用y=H.readInt()对Y付值呗,我错了吗?

解决方案 »

  1.   

    其实这个好比一个管道机制.开始是自来水->加一个热水器后变成开水->再加一个冲Caffe的容器就成了我们想喝的Caffe啦!->我们还可接下来,继续加东西.来满足我们不同的要求的
      

  2.   

    BufferedReader keyInC=new BufferedReader(new InputStreamReader(System.in)); 
    ----------------------------------------------------------------------------
    System.in是标准的输入流,一般对应键盘new InputStreamReader(System.in):因为System.in中读取的是字节(即无意义的字节序列),用InputStreamReader把System.in包装为字符流。new BufferedReader(new InputStreamReader(System.in)):BufferedReader流具有缓冲的功能,因为操作系统的IO调用很慢,用BufferedReader包装可以一次性读取更多的字节而增加效率。
      

  3.   

    在我的印象里,譬如我要往程序输入一个整数,我发现有个DataintputStream 类,我就用DataintputStream H=NEW DataintputStream();创建一个对象.然后我知道DataintputStream有个方法readInt();那我就用y=H.readInt()对Y付值呗,我错了吗?
    ------------------------------------------
    不能这样吧,DataInputStream总需从要某个地方读取数据吧,可以这样new DataInputStream(new FileInputStream(new File("...")));