Итак, я пытаюсь создать программу, которая читает входные данные пользователя и выводит текущую строку, только если она меньше, чем какая-либо предыдущая строка. Моя программа работает нормально, но она продолжает печатать первую введенную мной строку, которая не должна быть действительной, потому что пока нет другой строки для сравнения.
Мне было интересно, есть ли способ для программы рассмотреть первая строка а не выводить ее пользователю? Спасибо за любую помощь!
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);
}
}
}