【发布时间】:2014-11-07 05:56:23
【问题描述】:
我有以下方法,它接受字符串输入,将它们添加到列表中,然后首先打印偶数行,然后是奇数行。问题是它只打印偶数行而不继续打印奇数行。解决方案似乎很简单,但我看不出我的 if/else 语句有什么问题会导致这个问题。
public static void printLines(BufferedReader r, PrintWriter w) throws IOException {
//first prints even lines then odd lines
ArrayList<String> list = new ArrayList<String>();
int x = 0;
for (String line = r.readLine(); line != null; line = r.readLine()) {
list.add(line);
x++;
}
for (int i = 1; i < list.size(); i++){
if (i%2 == 0 && x < 1){
w.println(list.get(i));
x++;
}
else if (i%2 == 1 && x >= 1)
{
w.println(list.get(i));
}
}
}
【问题讨论】:
-
只是一个建议:删除 x 变量并改用 list.size()
标签: java list arraylist bufferedreader