Hier nun schon mal die Lösungen zu den Aufgaben 1 und 2! Nummer 3 ist noch in Arbeit, sollte aber Montag spätestens Dienstag fertig sein. 😉
Die Aufgabenblätter sind hier zu finden: http://www.gm.fh-koeln.de/~ehses/ap/index.html
Aufgabe 1:
public class Transaktionsarray {
int i = 2;
int anz = 0;
public Transaktion[] array = new Transaktion[i];
public int anzahl() {
return anz;
}
public Transaktion element(int i) {
if(anz-1<i){
throw new IndexOutOfBoundsException(“Element wurde noch nicht gespeichert!”);
}
else return array[i];
}
public void speichere(Transaktion transaktion) {
if(anz>=array.length){
Transaktion[] newarray = new Transaktion[array.length*2];
for(int j =0; j<array.length; j++){
newarray[j]=array[j];
}
array=newarray;
}
array[anz++]=transaktion;
}
public Transaktion umgekehrt(int i) {
int index = (anz-1)-i;
if(anz-1<index){
throw new IndexOutOfBoundsException(“Element wurde noch nicht gespeichert!”);
}
else return array[index];
}
}
Aufgabe 2:
Konto.java
void ueberweisen(double betrag, Konto ziel) {
pruefeObBetragPositiv(betrag);
pruefeObAuszahlungGedeckt(betrag);
kontostand -= betrag;
ziel.kontostand +=betrag;
transaktionen.speichere(Transaktion.abgebuchtFuer(ziel.toString(),betrag));
ziel.transaktionen.speichere(Transaktion.gebuchtVon(toString(), betrag));
}
Bank.java
public void ueberweisen(int quelle, Bank zielBank, int zielKonto, double betrag) {
Konto Quelle = getKonto(quelle);
Konto Ziel = zielBank.getKonto(zielKonto);
Quelle.ueberweisen(betrag, Ziel);
}