我正在尝试从标准输入读取名称并创建一个字符串数组。但是当出现空行时,也会进入我不想要的阵列。这是代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Read {
public static void main(String args []) throws IOException{
BufferedReader reader =new BufferedReader(new inputStreamReader(System.in));
String str;
ArrayList<String> lines = new ArrayList<String>();
while((str = reader.readLine()) != null){
lines.add(str);
}
String[] linesArray = lines.toArray(new String[lines.size()]);
for (String input: linesArray){
System.out.println(input);
}
}
}
INPUT:
John
Mike
dasy
egor
我调试它,我看到数组看起来像:
[0] String .. "John"
[1] String .. "Mike"
[2] Striing.. ""
[3] String .. "dasy"
[4] String .. "egor"
[5] String .. ""
任何人都可以帮我修理一下吗? 还有一些原因我没有得到任何输出,这意味着它没有终止。
答案 0 :(得分:0)
在添加
之类的行之前,尝试获取str的字符串长度while((str = reader.readLine()) != null){
if str.lenght() > 0 {
lines.add(str);
}
}