【发布时间】:2020-01-25 07:29:25
【问题描述】:
所以我正在尝试创建一个程序,该程序读取用户输入并仅在当前行小于前一行时才输出当前行。我的程序运行良好,但它一直打印我输入的第一行,这应该是无效的,因为还没有其他行可以与之比较。
我想知道程序是否有办法考虑第一行 但不输出给用户?感谢您的帮助!
public static void doIt(BufferedReader r, PrintWriter w) throws IOException {
ArrayList<String> strings = new ArrayList<>();
String line;
while((line = r.readLine()) != null) {
boolean checkIfSmaller = true;
strings.add(line);
for (int i = 0; i < strings.size()-1; i++) {
if (line.compareTo(strings.get(i)) >= 0) {
checkIfSmaller = false;
}
}
if (checkIfSmaller) {
w.println(line);
}
}
}
【问题讨论】:
标签: java arraylist set buffer readline