private void inputText() {
String str;
InputStreamReader isd = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isd);
try {
do {
str = br.readLine().trim();
System.out.println("str="+str);
list.add(str);
}while(str!=null);
br.close();
isd.close();
}catch(IOException e) {
e.printStackTrace();
}
}直接键回车的时候应该str==null为什么我直接键回车的时候也跳不出循环啊

解决方案 »

  1.   

    对啊,也就是说直接键回车的时候str应该==null啊,那不就是该跳出循环吗?
      

  2.   

    private void inputText() {
    String str;
    InputStreamReader isd = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isd);
    try {
    do {
    str = null;
                      str = br.readLine().trim();
    System.out.println("str="+str);
    list.add(str);
    }while(str!=null);
    br.close();
    isd.close();
    }catch(IOException e) {
    e.printStackTrace();
    }
    }
      

  3.   

    package ocean.accp.demo;import java.io.*;
    import java.util.ArrayList;
    import java.util.List;public class InputDemo { public static void main(String[] args) {
    new InputDemo().inputText();
    }
    private List<String> inputText() {
    List<String> list=new ArrayList<String>();
    String str;
    InputStreamReader isd = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isd);
    try {
    while(!(str=br.readLine().trim()).equals("")){
    System.out.println("str="+str);
    list.add(str);
    }
    br.close();
    isd.close();
    }catch(IOException e) {
    e.printStackTrace();
    }
    return list;
    }
    }
      

  4.   

    不是null是"",不一样的
    null是没有值,""是空值
      

  5.   

    while(str!=null&&!str.equals(""))
      

  6.   

    while(str!=null&&!str.equals(""))
      

  7.   

    都说过了\
    null 和空值是两个概念!!