EdjeCageman
Gebruiker
- Lid geworden
- 24 okt 2011
- Berichten
- 273
Ik heb een bestand dat uitgelezen moet worden dmv:
En deze wordt bij het opstarten ingeladen dmv:
Zoals je ziet wil ik dus gegevens uit het ene bestand halen, en deze van een andere behandelingsbestand omzetten. Hierbij moet er worden gelet of de behandeling wel/niet bestaat in het andere bestand. Als hij nog niet bestaat moet hij worden toegevoegd, als hij al wel bestaat dan moet er gewoon niks gebeuren dmv de code:
Maar dit weigert hij ik blijf een fout krijgen van:
Ik zie gewoon niet meer wat er fout gaat en waar. Nou ja de waar is: als hij op de regel komt bij het vergelijken en hij ze in de arraylist wilt stoppen, daar gaat het mis...
Code:
public void readBehandelingData() {
//read Behandelingen methode.
try {
ObjectInputStream read =
new ObjectInputStream ( new FileInputStream( pad + "BehandelingGegevens.dat" ));
behandeling = (Behandelingsbeheer) read.readObject();
} catch(ClassNotFoundException e) {
System.out.println("Onbekende Klasse");
} catch(IOException e) {
System.out.println("Fout bij inlezen van het bestand: " + pad + "BehandelingGegevens");
e.printStackTrace();
}
}
En deze wordt bij het opstarten ingeladen dmv:
Code:
IOBestand fileIOObject = new IOBestand();
//lees het bestand van de behandelingen van A3 uit.
fileIOObject.readBehandelingData();
Behandelingsbeheer_om nieuw = new Behandelingsbeheer_om();
nieuw.voegsamen();
for(int i = 0; i < fileIOObject.getBehandelingen().readBehandelingLijst().getBehandeling().size(); i++)
{
String polisnummer = fileIOObject.getBehandelingen().readBehandelingLijst().getBehandeling().get(i).getPolisnummer();
String omschrijving = fileIOObject.getBehandelingen().readBehandelingLijst().getBehandeling().get(i).getOmschrijving();
String status = fileIOObject.getBehandelingen().readBehandelingLijst().getBehandeling().get(i).getStatus();
String startdatum = fileIOObject.getBehandelingen().readBehandelingLijst().getBehandeling().get(i).getStartdatum();
String einddatum = fileIOObject.getBehandelingen().readBehandelingLijst().getBehandeling().get(i).getEinddatum();
String beginuur = fileIOObject.getBehandelingen().readBehandelingLijst().getBehandeling().get(i).getbeginUur();
String einduur = fileIOObject.getBehandelingen().readBehandelingLijst().getBehandeling().get(i).getEindUur();
String fysiotherapeut = fileIOObject.getBehandelingen().readBehandelingLijst().getBehandeling().get(i).getFysiotherapeut();
//String prijs = fileIOObject.getBehandelingen().readBehandelingLijst().getBehandeling().get(i).getPrijs();
double prijs = 1;
System.out.println(polisnummer + " " + omschrijving + " " + status + " " + startdatum + " " + einddatum + " " + beginuur+ " " + einduur+ " " + fysiotherapeut + " " + prijs);
nieuw.vulBehandelingLijst(polisnummer, omschrijving, status, startdatum, einddatum, beginuur, einduur, prijs, fysiotherapeut, false);
//nieuw.vergelijk(polisnummer, omschrijving, status, startdatum, einddatum, beginuur, einduur, fysiotherapeut, prijs);
}
System.out.println(nieuw.readBehandelingLijst());
nieuw.wegschrijven();
}
Zoals je ziet wil ik dus gegevens uit het ene bestand halen, en deze van een andere behandelingsbestand omzetten. Hierbij moet er worden gelet of de behandeling wel/niet bestaat in het andere bestand. Als hij nog niet bestaat moet hij worden toegevoegd, als hij al wel bestaat dan moet er gewoon niks gebeuren dmv de code:
Code:
public void vergelijk(String polisnummer, String omschrijving, String status, String startdatum, String einddatum, String beginuur, String einduur, String fysiotherapeut, double prijs)
{
System.out.println("laten we beginnen");
for(Behandeling_om behandeling : readBehandelingLijst())
{
System.out.println(polisnummer + ", " + omschrijving+ ", " +status+ ", " +startdatum+ ", " +einddatum+ ", " +beginuur+ ", " +einduur+ ", " +fysiotherapeut+ ", " +prijs);
System.out.println(behandeling.getPolisnummer() + ", " + behandeling.getOmschrijving()+ ", " +behandeling.getStatus()+ ", " +behandeling.getStartdatum()+ ", " +behandeling.getEinddatum()+ ", " +behandeling.getbeginUur()+ ", " +behandeling.getEindUur()+ ", " +behandeling.getFysiotherapeut());
if(polisnummer.equals(behandeling.getPolisnummer()) && omschrijving.equals(behandeling.getOmschrijving()) && status.equals(behandeling.getStatus()) && startdatum.equals(behandeling.getStartdatum()) && einddatum.equals(behandeling.getEinddatum()) && beginuur.equals(behandeling.getbeginUur()) && einduur.equals(behandeling.getEindUur()) && fysiotherapeut.equals(behandeling.getFysiotherapeut()))
{
System.out.println("gelijk");
break;
}
else
{
vulBehandelingLijst(polisnummer, omschrijving, status, startdatum, einddatum, beginuur, einduur, prijs, fysiotherapeut, false);
System.out.println("ongelijk");
}
}
Maar dit weigert hij ik blijf een fout krijgen van:
Code:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
at Control.Behandelingsbeheer_om.vergelijk(Behandelingsbeheer_om.java:218)
at Boundary.Inlogpaneel.main(Inlogpaneel.java:132)
Ik zie gewoon niet meer wat er fout gaat en waar. Nou ja de waar is: als hij op de regel komt bij het vergelijken en hij ze in de arraylist wilt stoppen, daar gaat het mis...
Laatst bewerkt: