Banken Szenario

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo Leute,
ich muss für meine Uniaufgabe ein Bankenszenario programmieren. Bisher habe ich 4 Klassen definiert, BANK, KUNDE, KONTO und TEST. Jetzt soll die Bank in der Lage sein neue Kunden und Konten zu erstellen. Also hab ich in der Klasse BANK eine Methode erstellt, die folgendermaßen aussieht:

public static void neuKunde(String name, int kundennummer){
new Kunde(name, kundennummer);

}

Dabei wird eine neue Instanz der Klasse KUNDE erstellt:
Code:
public class Kunde{

    // Attribute:
    
    public String name;
    public int nummer;
    
    // Konstruktoren:
    
    public Kunde(String name, int nummer){
        this.name = name;
        this.nummer = nummer;
    }
    
 
}
Soweit so gut. Aber wenn ich nun in der Klasse TEST die Methode

Bank.neuKunde("Mischa", 1);

aufrufe und anschließend

System.out.println(Mischa.name);

versuche, sagt mir der compiler dass er die variable Mischa nicht findet. Was mache ich falsch?

Danke für eure Antworten!
 

diggaa1984

Top Contributor
deine bank mag vielleicht neue Kunden erstellen können, aber wo merkt sich deine Bank, welche Kunden sie kennt?
Du brauchst also ne Collection für deine Kunden, damit du diese auch abrufen und bearbeiten kannst.

was du bisher in deiner neuKunde-Methode umgesetzt hast ist nichts weiter als einen neuen Kunden lokal (nur Methodenintern) zu erzeugen. Die Bank kennt ihn deshalb noch lange nicht.

Folgendes wäre denkbar:
Code:
public class Bank {

    private Collection<Kunde> kundenliste; 

    public Bank() {
        kundenliste = new ArrayList<Kunde>(0);  //kann man auch HashSets verwenden oder sonstiges
    } 


    public void neuKunde(String name, int kundennummer) {
        kundenliste.add(new Kunde(name,kundennummer));
    }

    public void alleKundenAusgeben() {
        for (Kunde k: kundenliste) {
            System.out.println("KName: "+k.name+"\tKNr: "+k.nummer);
        }
    }

}//Bank

so in etwa wäre das denkbar ... wichtig wäre noch, das du die Kundendaten nicht public deklarierst in der Kundenklasse. Funktioniert alles wunderbar, aber sowas macht man in der Regel nicht. Man lässt sich das dann per Methode zurückgeben :D ... obiges Ausgabe-Beispiel baut aber auf deiner public-Lösung auf, ging grad schneller ^^ (direkter zugriff über k.name und k.nummer)
 
G

Guest

Gast
Ok... nun habe ich noch ein anderes Problem...ich habe in der Klasse BANK eine Methode erstellt die folgendermaßen aussieht:
Code:
    public void einzahlen(int n, int m){
        if(n >=0 && m >0){
            kontos[n] += m;
            System.out.println("Es wurden " + m + " Euro eingezahlt");
        }
        else{
            System.out.println("Es ist ein Fehler aufgetreten.");
        }

    }

Wenn ich diese Methode aber in der Klasse Test mit

Bank.einzahlen(1,100);

aufrufe steht da immer non-static method einzahlen(int,int) cannot be referenced form a static context

was heißt das??
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Szenario implementieren Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben