Gemäss meinen Überprüfungen scheint mein Code zu funktionieren - finde somit keinen Fehler.
Natürlich hätte ich den Code kürzer(einfacher) halten können. Der Grund, dass ich über ihn auf mehrere
Stationen aufgeteilt habe war, dass ich für mich die verschiedenen Aspekte des zuvor Gelernten
anwenden(trainieren) wollte. Dies sollte jedoch nicht mit der Fehlermeldung in Verbindung stehen.
Danke für Eure Anmerkungen!
package de.codegym.task.task07.task0709;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Uns selbst prägnanter ausdrücken
*/
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<String> liste = arrayInitialisieren();
kuerzesterStringSuchen(liste);
}
public static ArrayList<String> arrayInitialisieren() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int arraySize = 5;
ArrayList<String> arrLst = new ArrayList<>();
for (int i = 0; i < arraySize; i += 1) {
String s = br.readLine();
arrLst.add(s);
}
return arrLst;
}
public static void kuerzesterStringSuchen(ArrayList<String> liste) {
int arrLstSize = liste.size();
for (int i = 0; i < arrLstSize; i += 1) {
for (int j = i; j < arrLstSize; j += 1) {
int strSize = liste.get(j).length();
if (liste.get(i).length() != liste.get(j).length()) {
if (liste.get(i).length() > liste.get(j).length()) {
liste.remove(i);
j -= 1;
arrLstSize = liste.size();
} else {
liste.remove(j);
j -= 1;
arrLstSize = liste.size();
}
}
}
}
for (int i = 0; i < arrLstSize; i += 1) {
System.out.println(liste.get(i));
}
}
}