StringBuffer str=new StringBuffer();
定义的是局部变量,在switch里不可见吧!而且程序效率不高,在while循环里面new对象不是好习惯

解决方案 »

  1.   

    我自己解决了public class ReadEnter {

    /**
     * Method main
     *
     *
     * @param args
     *
     */
    public static void main(String[] args) {
    // TODO: Add your code here
    int length=0;
    int ch;
    //char ch=0 ;
    StringBuffer str=new StringBuffer();
    while(true)
    {
    try
    {
    length=System.in.read();

    }
    catch(Exception e)
    {
    System.out.print(e.getMessage());
    }

    switch(ch=(char)length)
    {
    case '\r':
    break;
    case '\n':
    str.append(ch);
    String strb=str.toString();
    System.out.println(strb);
    break;
    default:
    //ch=(char)length;

    }
    }
    }
    }
      

  2.   

    import java.io.*;
    public class test {
    public static void main(String[] args) {
    int c;
    StringBuffer str = new StringBuffer() ;
    BufferedReader stdin= new BufferedReader(new InputStreamReader
      (System.in));
    System.out.println("please input:");
    try{
    while((c=(char)stdin.read())!=13)
    {
    str.append((char)c);
    System.out.println(c);
    }
    }
    catch(Exception e){
    System.out.println(e.getMessage());

    }
    System.out.println("the input is :" + str.toString());

    }
    }