so ich stehe vor einem kleinem Problem was mich klein erscheinen lässt
und zwar ist das Problem, dass wenn ich nach dem parsen den Funktionsaufruf: getBuchungenMitKontogebuehren(buchungen, jahr); aufrufe funktioniert zwar alles schön nur da wird der letzte Wert genommen die anderen werden alle vom neuem Wert überschrieben und wenn ich in der Schleife(try und catch block) diese Funktion einbaue dann prüft der mir 1x nach einem durchlauf nach dem 2. durchlauf 2x usw. ich seh einfach den fehler nicht ...
[HIGHLIGHT="Java"]
public void pruefeKontogebuehren()
{
vectorjahresdaten.clear();
vectorjahresjahre.clear();
List<TransaktionsDaten> buchungen = new ArrayList<TransaktionsDaten>();
SimpleDateFormat format3 = new SimpleDateFormat("dd.MM.yyyy");
Date date1;
Date date2;
int differenz = 0;
int kleinstesjahr = 0;
int groesstesjahr = 0;
String jahresdatumgeteilt = "";
String wurdegebucht = "";
int jahr = 0;
TransaktionsDaten trans = new TransaktionsDaten();
for(int i = 0; i < postbank.getVectorDaten().size(); i++)
{
try{
date1 = format3.parse((String) postbank.getVectorDaten().get(i));
date2 = format3.parse((String) postbank.getVectorDaten().get(i));
jahresdatumgeteilt = format.format(date1);
jahr = Integer.parseInt(jahresdatumgeteilt);
vectorjahresdaten.add(date2.toString());
vectorjahresjahre.add(jahr);
trans.setDatum(date1);
wurdegebucht = (String) postbank.getVectorgebuchtvon().get(i);
trans.setTransaktionGebuchtVon(wurdegebucht);
buchungen.add(trans);
}catch(ParseException ex2){
}
}
getBuchungenMitKontogebuehren(buchungen, jahr);
}
[/HIGHLIGHT]
[HIGHLIGHT="Java"]
public static List<TransaktionsDaten> getBuchungenMitKontogebuehren(List<TransaktionsDaten> buchungen, int jahr)
{
List<TransaktionsDaten> result = new ArrayList<TransaktionsDaten>();
GregorianCalendar cal = new GregorianCalendar();
for(TransaktionsDaten b: buchungen)
{
cal.setTime(b.getDatum());
System.out.println("getGebuchtMitKontogebuehren - Datum: " + b.getDatum());
// System.out.println("getGebuchtMitKontogebuehren - Jahr: " + jahr);
if((cal.get(Calendar.YEAR)==jahr) && (cal.get(Calendar.MONTH)== Calendar.DECEMBER) && (cal.get(Calendar.DAY_OF_MONTH) == 31))
{
System.out.println("ich wurde einfach gebucht: " + b.getTransaktionGebuchtVon());
if(b.getTransaktionGebuchtVon().contains("Kontogebuehren"))
{
result.add(b);
}
}
}
System.out.println("ich bin das Ergebnis: " + result);
return result;
}
[/HIGHLIGHT]