From d76127d98b1314107c5436274a60991fbd011e39 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Wed, 22 Oct 2014 22:33:54 +0200 Subject: Assignment No.2 implementations Implements every function except the main. --- src/de/fhswf/in/inf/java1/aufgabe5/Bank.java | 72 +++++----- src/de/fhswf/in/inf/java1/aufgabe5/Konto.java | 174 ++++++++++++++---------- src/de/fhswf/in/inf/java1/aufgabe5/Person.java | 96 ++++++------- src/de/fhswf/in/inf/java1/aufgabe5/Student.java | 56 ++++---- 4 files changed, 211 insertions(+), 187 deletions(-) (limited to 'src') diff --git a/src/de/fhswf/in/inf/java1/aufgabe5/Bank.java b/src/de/fhswf/in/inf/java1/aufgabe5/Bank.java index e7c68d7..32fd3f5 100644 --- a/src/de/fhswf/in/inf/java1/aufgabe5/Bank.java +++ b/src/de/fhswf/in/inf/java1/aufgabe5/Bank.java @@ -1,36 +1,36 @@ -/** - * - */ -package de.fhswf.in.inf.java1.aufgabe5; - -/** - * TODO Add comment here - * - * @author $Author: $ - * @version $Revision: $, $Date: $ UTC - */ -public final class Bank -{ - - /** - * TODO Add constructor comment here - * - */ - private Bank() - { - // TODO Auto-generated constructor stub - } - - /** - * TODO Add method comment here - * - * @param args - * Shell arguments - */ - public static void main(String[] args) - { - // TODO Auto-generated method stub - - } - -} +/** + * + */ +package de.fhswf.in.inf.java1.aufgabe5; + +/** + * Package for main function. + * + * @author $Author: $ + * @version $Revision: $, $Date: $ UTC + */ +public final class Bank +{ + + /** + * Prevents instantiation of the unity class Bank. + * + */ + private Bank() + { + + } + + /** + * Main function for testing the Bank system. + * + * @param args + * Shell arguments + */ + public static void main(String[] args) + { + // TODO Auto-generated method stub + + } + +} diff --git a/src/de/fhswf/in/inf/java1/aufgabe5/Konto.java b/src/de/fhswf/in/inf/java1/aufgabe5/Konto.java index 3d3aed5..24194b3 100644 --- a/src/de/fhswf/in/inf/java1/aufgabe5/Konto.java +++ b/src/de/fhswf/in/inf/java1/aufgabe5/Konto.java @@ -1,75 +1,99 @@ -/** - * - */ -package de.fhswf.in.inf.java1.aufgabe5; - -import java.math.BigDecimal; - -/** - * TODO Add comment here - * - * @author $Author: $ - * @version $Revision: $, $Date: $ UTC - */ -public class Konto -{ - - private BigDecimal guthaben; - - private BigDecimal dispo; - - private Person besitzer; - - /** - * TODO Add constructor comment here - * - * @param besitzer - * Owner of the account - * @param dispo - * Dispo of the account - * @param guthaben - * Initial balance of the account - */ - public Konto(Person besitzer, BigDecimal dispo, BigDecimal guthaben) - { - - if (besitzer == null) - { - throw new IllegalArgumentException("Besitzer can't be null"); - } - if (dispo == null) - { - throw new IllegalArgumentException("Dispo can't be null"); - } - if (guthaben == null) - { - throw new IllegalArgumentException("Guthaben can't be null"); - } - - this.besitzer = besitzer; - this.dispo = dispo; - this.guthaben = guthaben; - - } - - /** - * TODO Add method comment here - * - * @param betrag - */ - public void abheben(BigDecimal betrag) - { - - } - - /** - * TODO Add method comment here - * - * @param betrag - */ - public void einzahlen(BigDecimal betrag) - { - - } - -} +/** + * + */ +package de.fhswf.in.inf.java1.aufgabe5; + +import java.math.BigDecimal; + +/** + * An implementation of the Konto class wich represents a bank account. + * + * @author $Author: $ + * @version $Revision: $, $Date: $ UTC + */ +public class Konto +{ + + private BigDecimal guthaben; + + private BigDecimal dispo; + + private Person besitzer; + + /** + * Creates an account with an owner, a dispo and an initial balance. + * + * @param besitzer + * Owner of the account + * @param dispo + * Dispo of the account + * @param guthaben + * Initial balance of the account + */ + public Konto(Person besitzer, BigDecimal dispo, BigDecimal guthaben) + { + + if (besitzer == null) + { + throw new IllegalArgumentException("Besitzer can't be null"); + } + if (dispo == null) + { + throw new IllegalArgumentException("Dispo can't be null"); + } + if (guthaben == null) + { + throw new IllegalArgumentException("Guthaben can't be null"); + } + + this.besitzer = besitzer; + this.dispo = dispo; + this.guthaben = guthaben; + + } + + /** + * Function for withdrawing money from the account. + * + * @param betrag + * Amount of cash to be withdrawn + */ + public void abheben(BigDecimal betrag) + { + if (betrag == null) + { + throw new IllegalArgumentException("Betrag can't be null"); + } + if (betrag.compareTo(BigDecimal.ZERO) < 0) + { + throw new IllegalArgumentException("Betrag can't be negative"); + } + if (guthaben.add(dispo).compareTo(betrag) >= 0) + { + throw new IllegalArgumentException("Betrag surpasses dispo limit"); + } + + guthaben = guthaben.subtract(betrag); + } + + /** + * Function to deposit money into the account. + * + * @param betrag + * Amount of cash to be disposed + */ + public void einzahlen(BigDecimal betrag) + { + if (betrag == null) + { + throw new IllegalArgumentException("Betrag can't be null"); + } + if (betrag.compareTo(BigDecimal.ZERO) < 0) + { + throw new IllegalArgumentException("Betrag can't be negative"); + } + + guthaben = guthaben.add(betrag); + } + +} diff --git a/src/de/fhswf/in/inf/java1/aufgabe5/Person.java b/src/de/fhswf/in/inf/java1/aufgabe5/Person.java index 24824ae..bd7fb8a 100644 --- a/src/de/fhswf/in/inf/java1/aufgabe5/Person.java +++ b/src/de/fhswf/in/inf/java1/aufgabe5/Person.java @@ -1,48 +1,48 @@ -/** - * - */ -package de.fhswf.in.inf.java1.aufgabe5; - -/** - * TODO Add comment here - * - * @author $Author: $ - * @version $Revision: $, $Date: $ UTC - */ -public class Person -{ - private String vorname; - - private String nachname; - - /** - * TODO Add constructor comment here - * - * @param vorname - * First name of the person - * @param nachname - * Last name of the person - */ - public Person(String vorname, String nachname) - { - if (vorname == null) - { - throw new IllegalArgumentException("Vorname can't be null"); - } - if (nachname == null) - { - throw new IllegalArgumentException("Nachname can't be null"); - } - if (vorname == "") - { - throw new IllegalArgumentException("Vorname can't be empty"); - } - if (nachname == "") - { - throw new IllegalArgumentException("Nachname can't be empty"); - } - this.vorname = vorname; - this.nachname = nachname; - } - -} +/** + * + */ +package de.fhswf.in.inf.java1.aufgabe5; + +/** + * A person which can own an account. + * + * @author $Author: $ + * @version $Revision: $, $Date: $ UTC + */ +public class Person +{ + private String vorname; + + private String nachname; + + /** + * Creates a person with first and last name. + * + * @param vorname + * First name of the person + * @param nachname + * Last name of the person + */ + public Person(String vorname, String nachname) + { + if (vorname == null) + { + throw new IllegalArgumentException("Vorname can't be null"); + } + if (nachname == null) + { + throw new IllegalArgumentException("Nachname can't be null"); + } + if (vorname == "") + { + throw new IllegalArgumentException("Vorname can't be empty"); + } + if (nachname == "") + { + throw new IllegalArgumentException("Nachname can't be empty"); + } + this.vorname = vorname; + this.nachname = nachname; + } + +} diff --git a/src/de/fhswf/in/inf/java1/aufgabe5/Student.java b/src/de/fhswf/in/inf/java1/aufgabe5/Student.java index 50856cc..769c91a 100644 --- a/src/de/fhswf/in/inf/java1/aufgabe5/Student.java +++ b/src/de/fhswf/in/inf/java1/aufgabe5/Student.java @@ -1,28 +1,28 @@ -/** - * - */ -package de.fhswf.in.inf.java1.aufgabe5; - -/** - * TODO Add comment here - * - * @author $Author: $ - * @version $Revision: $, $Date: $ UTC - */ -public class Student extends Person -{ - - /** - * TODO Add constructor comment here - * - * @param vorname - * First name of the student - * @param nachname - * Last name of the student - */ - public Student(String vorname, String nachname) - { - super(vorname, nachname); - } - -} +/** + * + */ +package de.fhswf.in.inf.java1.aufgabe5; + +/** + * Extends Person and represents a student. + * + * @author $Author: $ + * @version $Revision: $, $Date: $ UTC + */ +public class Student extends Person +{ + + /** + * Simply calls the super constructor to initialize person. + * + * @param vorname + * First name of the student + * @param nachname + * Last name of the student + */ + public Student(String vorname, String nachname) + { + super(vorname, nachname); + } + +} -- cgit v1.2.3-70-g09d2