gpt4 book ai didi

java - 打印奇数行时出现问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:12:26 24 4
gpt4 key购买 nike

我有以下方法,它接受字符串输入行,将它们添加到列表中,然后首先打印偶数行,然后打印奇数行。问题是它只打印偶数行而不会继续打印奇数行。解决方案看起来很简单,但我看不出我的 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));

}
}
}

最佳答案

与其在循环中处理算术运算,不如让循环迭代处理它:

for (int i = 1; i < list.size(); i+=2)
w.println(list.get(i));
for (int i = 0; i < list.size(); i+=2)
w.println(list.get(i));

我建议您删除 x 变量并改用 list.size()

关于java - 打印奇数行时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25818701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com