BlueJ Konsolenausgabe Bankkonto

Java Projekt: Bankkonto

Hier ein kleines Projekt, bei dem ich Dir zeige, wie Du ein Bankkonto in Java realisieren kannst. Ich denke, der Code mit den Kommentaren sagt mehr aus, als eine ausführliche Beschreibung, hier also der Code:

//Imports
import java.util.ArrayList;
import java.util.Arrays;

//Klasse: Konto
public class Konto
{
    //Deklaration der Instanzvariablen
    private String kontoinhaber;
    private double kontostand;
    private int pin, kontonummer;
    private ArrayList<Double> kontoumsaetze = new ArrayList<Double>();
    private ArrayList<String> kontoumsatzart = new ArrayList<String>();

    //Konstruktor
    public Konto(String Kontoinhaber, double Kontostand, int PIN, int Kontonummer)
    {
        //Initialisierung der Instanzvariablen
        kontoinhaber = Kontoinhaber;
        kontostand = Kontostand;
        pin = PIN;
        kontonummer = Kontonummer;
        kontoumsaetze.clear();
        kontoumsatzart.clear();
    }

    //Methode zum Abrufen des Kontostandes
    public double kontostandAbrufen(int p){
        if (pinAbfragen(p) == true){
            return kontostand;
        } else {
            System.out.println("Die PIN ist leider falsch.");
            return 0;
        }
    }

    //Methode zum Abfragen der PIN
    public boolean pinAbfragen(int p){
        if (pin == p){
            return true;
        } else {
            return false;
        }
    }

    //Methode zum Abheben von Geld
    public void abheben(int p, double betrag){
        if (pinAbfragen(p) == true){
            if (kontostand >= betrag){
                kontostand -= betrag;
                kontoumsatzart.add("Auszahlung");
                kontoumsaetze.add(betrag);
            } else {
                System.out.println("Der Kontostand ist zu niedrig.");
            }
        } else {
            System.out.println("Die PIN ist leider falsch.");
        }
    }

    //Methode zum Einzahlen von Geld
    public void einzahlen(double betrag){
        kontostand += betrag;
        kontoumsatzart.add("Einzahlung");
        kontoumsaetze.add(betrag);
    }

    //Methode zum Überweisen auf ein anderes Konto
    public void ueberweisen(int p, Konto empfaenger, double betrag){
        if (pin == p){
            abheben(p, betrag);
            kontoumsatzart.add("Überweisung an " + empfaenger.toString());
            kontoumsaetze.add(betrag);
            empfaenger.einzahlen(betrag);
        } else {
            System.out.println("Die PIN ist leider falsch.");
        }
    }

    //Methode zum Ausdrucken aller Kontoumsätze
    public void kontoauszugAusdrucken(int p){
        if (pin == p){
            System.out.println("\n--------------------------------------------");
            System.out.println("Ihre Umsätze: ");
            System.out.println("--------------------------------------------");
            for (int i = 0; i < kontoumsaetze.size(); i++){
                System.out.println(kontoumsatzart.get(i) + ": " + kontoumsaetze.get(i));
                System.out.println("--------------------------------------------");
            }
            System.out.println("Aktueller Kontostand: " + kontostandAbrufen(p) + "\n");
            System.out.println("--------------------------------------------");
        } else {
            System.out.println("Die PIN ist leider falsch.");
        }
    }
}

Das Projekt kannst Du z.B. in BlueJ öffnen und ausführen. Hier ist der Vorteil, dass die Objekte ziemlich gut für Anfänger Visualisiert sind.

Erstelle hier also als erstes Objekte für die verschiedenen Konten. Jetzt kannst Du die verschiedenen Funktionen auf die Objekte anwenden. Hier ein paar Fotos dazu:

Bei Fragen oder Anregungen immer gerne einen Kommentar schreiben ;-).

Jan

Jan

Ich bin Jan und ich freue mich, dass Du meinen Blog gefunden hast. Ich blogge in meiner Freizeit über Smart Home, 3D Druck und Technik und versuche, Dir mit meinen Beiträgen möglichst gut zu helfen.

Alle Beiträge ansehen von Jan →

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.