Jeg har valgt at bruge native Java arrays som transaktioner. Man kunne overveje
at lave en mere fleksibel løsning involverende en Collection klasse og en
Transaktions klasse. I så fald skulle et objekt af typen Transkation repræsentere
en enkelt transaktion på kontoten. Her er min simple løsning: Her er endvidere et link til det rene Java program ./* Denne version af programmet er løsningen på opgave A i oop-intr */
class Konto {
private static double RenteSats = 0.02; // altså 2% i rente
private final static int MAXTRANSAKTIONER = 100;
private String navn;
private double[] transaktioner;
private int næsteTransaktion = 0;
Konto(String nytNavn) {
transaktioner = new double[MAXTRANSAKTIONER];
navn = nytNavn;
}
public double balance () {
double sum = 0.0;
int i;
for(i=0; i < næsteTransaktion; i++)
sum = sum + transaktioner[i];
return sum;
}
public void hæv ( double beløb ) {
transaktioner[næsteTransaktion] = -beløb;
næsteTransaktion = næsteTransaktion + 1;
}
public void indsæt ( double beløb) {
transaktioner[næsteTransaktion] = beløb;
næsteTransaktion = næsteTransaktion + 1;
}
public void overførFra(double beløb, Konto fra) {
fra.hæv(beløb);
this.indsæt(beløb);
}
public void tilskrivRente() {
double rente = balance() * RenteSats;
transaktioner[næsteTransaktion] = rente;
næsteTransaktion = næsteTransaktion + 1;
}
public String toString() {
return navn + "'s konto indeholder "
+ balance() + " kroner";
}
} // Konto
class Bank1A {
public static void main( String[] args ) {
Konto konto1 = new Konto("Jens");
Konto konto2 = new Konto("Peter");
konto1.indsæt(100);
konto2.indsæt(500);
System.out.println(konto1); System.out.println(konto2); System.out.println();
konto1.indsæt(3);
konto2.indsæt(5);
System.out.println(konto1); System.out.println(konto2); System.out.println();
konto1.tilskrivRente();
konto2.hæv(125);
System.out.println(konto1); System.out.println(konto2); System.out.println();
konto1.overførFra(25, konto2);
System.out.println(konto1); System.out.println(konto2); System.out.println();
}
}