Hallo zusammen,
ich habe eine kleine Aufgabe zu lösen und stehe momentan auf dem Schlauch, obwohl es sich grundsätzlich recht einfach anhört.
Und zwar lese ich mehrere Dateien ein, verbinde sie zu einer und muss in der Enddatei an jeder x-ten Zeile, y Zeilen löschen. Die Benutzerabfrage, das Einlesen und Mergen der Datei funktioniert tadellos (den Code füge ich mal nicht ein, da er für das konkrete Problem irrelevant ist) aber das Löschen der Zeilen bereitet mir Kopfzerbrechen.
Hier ist was ich bereits habe:
Das funktioniert leider nur beim ersten Durchlauf. Kann mir jemand auf die Sprünge helfen, wie man die Schleife erweitern müsste, damit der Loop nicht nur einmalig Auswirkungen auf die Datei hat?
Würde mich sehr freuen. Vielen Dank im Voraus!
ich habe eine kleine Aufgabe zu lösen und stehe momentan auf dem Schlauch, obwohl es sich grundsätzlich recht einfach anhört.
Und zwar lese ich mehrere Dateien ein, verbinde sie zu einer und muss in der Enddatei an jeder x-ten Zeile, y Zeilen löschen. Die Benutzerabfrage, das Einlesen und Mergen der Datei funktioniert tadellos (den Code füge ich mal nicht ein, da er für das konkrete Problem irrelevant ist) aber das Löschen der Zeilen bereitet mir Kopfzerbrechen.
Hier ist was ich bereits habe:
Java:
// Initialisierte Liste "lines" mit den Zeilen wird
// hier kopiert. Die zu löschenden Zeilen sollen aus
// der ArrayList "cleanLines" gelöscht werden.
ArrayList<String> cleanList = new ArrayList<>(lines);
int i = 0;
while (i < lines.size()) {
// x ist der vom Benutzer eingegebene Wert für x
if (i == Integer.parseInt(x)) {
// y ist der vom Benutzer eingegebene Wert für y
for (int j = 0; j < Integer.parseInt(y); j++) {
cleanList.remove(i);
}
}
i++;
}
// schreibe die ArrayList in eine Datei (funktioniert)
writeLinesToFile(cleanList);
Das funktioniert leider nur beim ersten Durchlauf. Kann mir jemand auf die Sprünge helfen, wie man die Schleife erweitern müsste, damit der Loop nicht nur einmalig Auswirkungen auf die Datei hat?
Würde mich sehr freuen. Vielen Dank im Voraus!