Aufgaben 2 + 3 ausgeführt.

This commit is contained in:
schrom01 2021-12-05 17:24:20 +01:00
parent 6de9f57019
commit 6239c3a002
4 changed files with 154 additions and 0 deletions

28
src/Bank.java Normal file
View File

@ -0,0 +1,28 @@
import java.util.ArrayList;
public class Bank {
ArrayList<Bankkonto> konten = new ArrayList<>();
public static void main(String[] args) {
ArrayList<Bankkonto> konten = new ArrayList<>();
konten.add(new Bankkonto("Jolly Jumper", 20000.0));
konten.get(0).einzahlen(20000);
konten.get(0).beziehen(10000);
konten.add(new Salaerkonto("Donald Duck", 5000.0, -1500.0));
konten.get(1).beziehen(100000);
konten.get(1).einzahlen(3000);
konten.add(new Nummernkonto("Unbekannt", 100000.0));
konten.get(2).beziehen(10);
konten.get(2).einzahlen(10000);
for(Bankkonto konto : konten){
System.out.println(konto);
}
}
}

66
src/Bankkonto.java Normal file
View File

@ -0,0 +1,66 @@
public class Bankkonto {
private String inhaber;
private double kontostand = 0;
private double maxKontostand = 100000;
protected double minKontostand = 0;
public Bankkonto(String inhaber){
setInhaber(inhaber);
}
public Bankkonto(String inhaber, double eroeffnungsbestand){
setKontostand(eroeffnungsbestand);
setInhaber(inhaber);
}
public String getInhaber() {
return inhaber;
}
public double getKontostand() {
return kontostand;
}
public boolean setInhaber(String inhaber) {
if(inhaber.length() > 2) {
this.inhaber = inhaber;
return true;
}
return false;
}
public boolean setKontostand(double kontostand) {
if(kontostand > maxKontostand) {
this.kontostand = maxKontostand;
return false;
}
else if(kontostand < minKontostand){
this.kontostand = minKontostand;
return false;
}
else{
this.kontostand = kontostand;
return true;
}
}
public boolean einzahlen(double betrag){
if(setKontostand(kontostand + betrag)){
return true;
}
return false;
}
public boolean beziehen(double betrag){
if(setKontostand(kontostand - betrag)){
return true;
}
return false;
}
@Override
public String toString() {
return "Inhaber: " + getInhaber() + ", Kontostand: " + kontostand;
}
}

26
src/Nummernkonto.java Normal file
View File

@ -0,0 +1,26 @@
public class Nummernkonto extends Bankkonto{
private double ueberzugslimite;
private int nummer;
private static int naechsteNummer = 1000;
public Nummernkonto(String inhaber, double eroeffnungsbestand){
super(inhaber, eroeffnungsbestand);
setNummer();
}
public Nummernkonto(String inhaber){
super(inhaber);
setNummer();
}
private void setNummer(){
nummer = naechsteNummer;
naechsteNummer ++;
}
@Override
public String getInhaber(){
return "" + nummer;
}
}

34
src/Salaerkonto.java Normal file
View File

@ -0,0 +1,34 @@
public class Salaerkonto extends Bankkonto{
private double absolutMinKontostand = -10000;
public Salaerkonto(String inhaber, double bezugslimite, double eroeffnungsbestand){
super(inhaber);
setMinKontostand(0 - bezugslimite);
super.setKontostand(eroeffnungsbestand);
}
public Salaerkonto(String inhaber, double bezugslimite){
super(inhaber);
setMinKontostand(0 - bezugslimite);
}
public double getUeberzugslimite(){
return 0 - minKontostand;
}
private boolean setMinKontostand(double minKontostand){
if(minKontostand < absolutMinKontostand){
super.minKontostand = absolutMinKontostand;
return false;
} else {
super.minKontostand = minKontostand;
return true;
}
}
@Override
public String toString() {
return super.toString() + ", Ueberzugslimite: " + getUeberzugslimite();
}
}