Hallo miteinander,
Ich habe folgendes Problem:
Ich soll eine Methode erstellen, die eine Array Liste durchläuft, in dem Fall eine Mitglieder Liste eines Vereins, und die Mitglieder die im eingegebenen Monat und Jahr, Mitglied geworden sind aus der Liste enfernt und in eine neue Liste speichert! Ich habe mir folgende Methode gebastelt (zeile 63)
Der Compiler Übersetzt zwar aber wenn ich einen Testlauf starte kommt immer dieser Fehler in der Console:
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at Verein.entfernen(Verein.java:72)
wisst ihr was ich falsch gemacht habe?? Danke schonmal im voraus für die Hilfe
Ich habe folgendes Problem:
Ich soll eine Methode erstellen, die eine Array Liste durchläuft, in dem Fall eine Mitglieder Liste eines Vereins, und die Mitglieder die im eingegebenen Monat und Jahr, Mitglied geworden sind aus der Liste enfernt und in eine neue Liste speichert! Ich habe mir folgende Methode gebastelt (zeile 63)
Java:
import java.util.*;
/**
* Speichert Details über Vereinsmitgliedschaften.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Verein
{
// Definieren Sie alle notwendigen Datenfelder hier...
private ArrayList<Mitgliedschaft> mitgliedschaft;
private ArrayList<Mitgliedschaft> entfernteMitglieder;
/**
* Konstruktor für Objekte der Klasse Verein
*/
public Verein()
{
// Initialisieren Sie die Datenfelder hier...
mitgliedschaft = new ArrayList<Mitgliedschaft>();
entfernteMitglieder = new ArrayList<Mitgliedschaft>();
}
/**
* Füge ein neues Mitglied in die Mitgliederliste ein.
* @param mitglied Infos über das einzufügende Mitglied.
*/
public void beitreten(Mitgliedschaft mitglied)
{
mitgliedschaft.add(mitglied);
}
/**
* @return die Anzahl der Mitglieder (Mitgliedschaft-Objekte)
* in diesem Verein.
*/
public int anzahlMitglieder()
{
return mitgliedschaft.size();
}
public int beigetretenInMonat(int monat)
{ if( monat < 1 || monat > 12){
System.out.println(" Der angegebene Monat liegt außerhalb des Gültigkeitsberreichs");
}
int anzahl = 0;
for(Mitgliedschaft mitglied : mitgliedschaft){
if( mitglied.gibMonat() == monat){
anzahl++;
}
}
return anzahl;
}
public ArrayList<Mitgliedschaft> entfernen(int monat, int jahr)
{
if( monat < 1 || monat > 12){
System.out.println(" Der angegebene Monat liegt außerhalb des Gültigkeitsbereichs");
}
for(Mitgliedschaft mitglied : mitgliedschaft){
if(mitglied.gibMonat() == monat && mitglied.gibJahr() == jahr){
mitgliedschaft.remove(mitglied);
entfernteMitglieder.add(mitglied);
}
}
return entfernteMitglieder;
}
}
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at Verein.entfernen(Verein.java:72)
wisst ihr was ich falsch gemacht habe?? Danke schonmal im voraus für die Hilfe