代码如下:
public class Test {
public static void main(String[] args) throws Exception{

byte[] buf=new byte[20];
System.in.read(buf);
String str=new String(buf);
str=str.trim();
System.out.println(str);

byte[] buf1=new byte[20];
System.in.read(buf1);
String str1=new String(buf1);
str1=str1.trim();
System.out.println(str1);
}}
结果如下:控制台   //输入语句
控制台
第二次输入  //输入语句
hitai控制台
第二次?问题:1。如果输入的时候出现错误删除输入内容重新输入,得到的结果中会包含部分删除的内容
      2。为什么第二次输入时与第一次输入使用的缓冲区不同,得到的结果中却包含第一次的内容??
      3。如何解决??有人说是输入法缓存的原因,感觉不太靠谱,希望高手给个合理解释,谢谢啦~~~

解决方案 »

  1.   

    控制台没问题,我觉得是IDE的事。
      

  2.   


    输入中文,然后退格 再输入 试试。我的IDE是myeclipse8.5
      

  3.   

    [Quote=引用
    第三方岁
    第三方岁
    圣达菲岁的分
    s'd'fs圣达菲岁的分
    [/Quote]确实会出现。我也用Myeclipse8.5,只要改的快才会出现,慢了根本不会出现,测试10多次就出来一次估计是ID的问题
      

  4.   


            
            String str=new String(System.in.read(););
            str=str.trim();
            System.out.println(str);