Guten Tag
Als erstes hier der komplette Source
Im grossen und ganzen versteh ich alles
Folgende Teile versteh ich leider überhaupt nicht...
Wozu brauche ich hier ein Array? ???:L
Was wird hier mit was verglichen?? :rtfm:
Bin für jede Hilfe sehr dankbar.
Liebe Grüsse mRa
Als erstes hier der komplette Source
Java:
/**
* @author cmarchetti
*
* Aufgabe 11.6: Die Klasse Konto erlaubt es Ein- und Auszahlungen zu tätigen, den Tageszins
* zu berechnen und das Konto abzuschliessen.
*/
public class Konto {
final double AKTIVZINS = 5.0, PASSIVZINS=8.0;
private int kontoNr;
private double kontostand=1, zinsen=0;
private static java.util.ArrayList<Integer> kontoNrnPool = new java.util.ArrayList<Integer>();
/*
Konto(){
super();
}
*/
Konto(int kontoNr){
super();
setKontoNr(kontoNr);
}
/**
* Einzahlungen tŠtigen.
* @param betrag Einzuzahlender Betrag
*/
public void einzahlen(double betrag){
kontostand += betrag;
}
/**
* Auszahlungen tŠtigen.
* @param betrag Auszuzahlender Betrag
*/
public void auszahlen(double betrag){
kontostand -= betrag;
}
/**
* Gibt den aktuellen Kontostand zurück.
* @return Aktueller Kontostand
*/
public double getKontostand(){
return kontostand;
}
/**
* Schreibt den Tageszins gut. Falls Kontostand >= 0 wird der Aktivzins
* verwendet sonst der Passivzins.
*/
void schreibeTagesZinsGut(){
if (kontostand >= 0){
zinsen += kontostand*AKTIVZINS/100/360;
}
else {
zinsen -= kontostand*PASSIVZINS/100/360;
}
}
/**
* Schliesst das Konto ab, indem die jeweiligen Tageszinsen zum aktuellen Kontostand
* addiert/subtrahiert werden.
*/
public void schliesseKontoAb(){
for (short i = 1; i < 360; i++){
schreibeTagesZinsGut();
}
kontostand += zinsen;
}
/**
* Brauchts wirklich einen setter?
*
* Setzt die KontoNr (muss eindeutig sein).
* @param kontoNr Eindeutige Konto-Nummer
* @return Gibt false zurŸck, wenn bereits ein Konto mit dieser Konto-Nummer besteht
*/
public boolean setKontoNr(int kontoNr){
Integer kontoNrObj = new Integer(kontoNr);
java.util.Iterator<Integer> itr = kontoNrnPool.iterator();
while(itr.hasNext()){
if (itr.next().intValue() == kontoNrObj.intValue()){
return false;
}
}
kontoNrnPool.add(kontoNrObj);
this.kontoNr = kontoNrObj.intValue();
return true;
}
/**
* Gibt die Konton-Nummer zurŸck.
* @return Konto-Nummer
*/
public int getKontoNr(){
return kontoNr;
}
public static void main(String[] args) {
Konto neuesKonto = new Konto(123456);
System.out.println(neuesKonto.setKontoNr(123456));
System.out.println(neuesKonto.getKontoNr());
neuesKonto.einzahlen(2000);
System.out.println(neuesKonto.getKontostand());
neuesKonto.auszahlen(1000);
System.out.println(neuesKonto.getKontostand());
neuesKonto.schliesseKontoAb();
System.out.println(neuesKonto.getKontostand());
}
}
Im grossen und ganzen versteh ich alles
Folgende Teile versteh ich leider überhaupt nicht...
Java:
private static java.util.ArrayList<Integer> kontoNrnPool = new java.util.ArrayList<Integer>();
Wozu brauche ich hier ein Array? ???:L
Java:
public boolean setKontoNr(int kontoNr){
Integer kontoNrObj = new Integer(kontoNr);
java.util.Iterator<Integer> itr = kontoNrnPool.iterator();
while(itr.hasNext()){
if (itr.next().intValue() == kontoNrObj.intValue()){
return false;
}
}
kontoNrnPool.add(kontoNrObj);
this.kontoNr = kontoNrObj.intValue();
return true;
}
Was wird hier mit was verglichen?? :rtfm:
Bin für jede Hilfe sehr dankbar.
Liebe Grüsse mRa