Hilfe bei Bank mit mehreren Klassen

Jats

Aktives Mitglied
Tag,

ich soll für die Schule mal wieder was programmieren, dieses Mal eine Bank.
Wir haben 3 Klassen (Bank als Oberklasse und Kunde mit Konto als Unterklassen).

Mein momentanes Problem ist, dass die Methode kundeBearbeiten nicht funktioniert .. wir arbeiten leider mit BlueJ und ich muss irgendwie mit diesem verbugten Scheißprogramm klarkommen.
Ich erstelle zunächst eine neue Bank und lege über kdAnlegen einen neuen Kunden an.
Allerdings fügt BlueJ den Kunden nur einer ArrayList "kunden" hinzu und erstellt kein neues Objekt.

Naja .. die Methoden sind wahrscheinlich noch ziemlicher Murks, aber kann sie nicht überprüfen, darum kann ich euch nur den Code aller 3 Klassen geben und euch bitten, mir zu sagen, was ich falsch mache, dass der Kunde falsch angelegt wird.
Weil so lange, wie das nicht geht, kann ich auch mit den anderen Methoden nicht fortfahren .. ich denke mal, ihr werdet noch viele Fehler mehr sehen ;)

class Bank:
Java:
import java.util.ArrayList;

public class Bank 
{
    private ArrayList <Kunde> kunden = new ArrayList <Kunde>();

    public Bank()
    {

    }

    public void kdAnlegen(String nname, String vname, String ort, int bday) {
        kunden.add(new Kunde(nname, vname, ort, bday));
    }

    public void kdBearbeiten(String nnameNeu, String ortNeu, int nr) {
        if(kontoExistiert(nr)) {
            for(int i = 0;i<kunden.size();i++) {
                if(kunden.get(i).getKundennummer()==nr) {
                    kunden.get(i).setName(nnameNeu);
                    kunden.get(i).setOrt(ortNeu);
                }
            }
        }
    }

    public void kdLoeschen() {
        kunden.remove(kunden.size());
    }

    public void sucheKundennummer(String n) {                       //GEHT!!!!!!!
        for(int i = 0;i<kunden.size();i++) {
            if(kunden.get(i).getName().equals(n)) {
                System.out.println(kunden.get(i).getKundennummer()+"");
            }

            else {
            }
        }
    }

    public boolean kontoExistiert(int ktonr) {

        boolean existenz = true;        

        for(int j = 0;j<kunden.size();j++) {
            if(kunden.get(j).getKonto(j).getKtoNummer()==ktonr) {
                existenz = true;
            }

            else {
                existenz = false;
            }
        }

        return existenz;

    }
}

class Kunde:
Java:
import java.util.ArrayList;

public class Kunde
{
    public String nachname;
    public String vorname;
    public String wohnort;
    public int kundennummer;
    public int geburtsjahr;
    private ArrayList <Konto> konten = new ArrayList<Konto>();

    public Kunde(String nname, String vname, String ort, int bday)
    { 
        nachname = nname;
        vorname = vname;
        wohnort = ort;
        kundennummer = 1001;
        geburtsjahr = bday;
    }

    public void ktoAnlegen()
    {
        int ktoNr = kundennummer+konten.size();
        konten.add(new Konto(ktoNr));
    }

    public void ktoLoeschen(int nr)
    {
        for(int i=0;i<konten.size();i++){
            if(konten.get(i).getKtoNummer()==nr){
                konten.remove(i);
            }
        }
    }

    public int kontenzahl()
    {
        return konten.size();
    }

    public void kontenuebersicht(){
        for(int i=0;i<konten.size();i++){
            System.out.println(konten.get(i).getKtoNummer()+" "+konten.get(i).getKtoStand());            
        }
    }

    public Konto getKonto(int k) {        
        return konten.get(k);
    }

    public String getName(){
        return nachname;
    }

    public String getVorname() {
        return vorname;
    }

    public String getWohnort() {
        return wohnort;
    }

    public int getKundennummer() {
        return kundennummer;
    }

    public int getGeburtsjahr() {
        return geburtsjahr;
    }

    public void setName(String nameNeu) {
        nachname = nameNeu;
    }

    public void setOrt(String ortNeu) {
        wohnort = ortNeu;
    }

}

class Konto:
Java:
import java.util.ArrayList;

public class Konto 
{
    private int ktoNummer, ktoPin;
    private double ktoStand; 

    public Konto(int nummer, int pin)
    {
        ktoNummer = nummer;
        ktoPin = pin;
    }

    public Konto(int nummer)
    {
        ktoNummer = nummer;
    }

    public void auszahlen(double betrag) {
        if(betrag<ktoStand) {
            ktoStand-=betrag;
        }

        else {
            System.out.println("Der Betrag den sie abbuchen wollen ist groeßer, als ihr Saldo!");
        }
    }

    public void einzahlen(double betrag) {
        ktoStand+=betrag;
    }

    public void ueberweisen(Konto zielKto, double betrag, int pin) {
        if(pinPruefen(pin) && betrag<ktoStand) {
            zielKto.einzahlen(betrag);
            ktoStand-=betrag;
        }

        else {
            System.out.println("Der Betrag den sie abbuchen wollen ist groeßer, als ihr Saldo oder PIN ist falsch!");
        }
    }

    public void setPin(int newPin) {
        ktoPin=newPin;
    }

    public boolean pinPruefen(int pin) {
        return(ktoPin==pin);
    }

    public double getKtoStand() {
        return ktoStand;
    }

    public int getKtoNummer() {
        return ktoNummer;
    }

    public int getKtoPin() {
        return ktoPin;
    }
}

Ich will nicht, dass ihr meine Hausaufgaben macht, aber ich brauche gerade wirklich Hilfe, weil wir ganz alleine auf 3 Klassen gehetzt wurden und wir mal eben damit klarkommen sollen.
Bin zwar einigermaßen geübt, abe irgendwo hört das Anfängerwissen auch auf.

Danke schonmal .. bin für jeden Fehler, den ihr findet dankbar ^^
 

ARadauer

Top Contributor
Allerdings fügt BlueJ den Kunden nur einer ArrayList "kunden" hinzu und erstellt kein neues Objekt.
doch macht es schon...
Java:
public void kdAnlegen(String nname, String vname, String ort, int bday) {
        kunden.add(new Kunde(nname, vname, ort, bday));
    }
ist das selbe wie

Java:
public void kdAnlegen(String nname, String vname, String ort, int bday) {
        Kunde kunde = new Kunde(nname, vname, ort, bday); 
        kunden.add(kunde);
    }


aber kann sie nicht überprüfen,
warum nicht, mach dir doch eclipse auf und kopier die klassen rein. Kannst deine Änderungen ja dann wieder zurück kopieren


ich schau mir das mal genauer an...
 

ARadauer

Top Contributor
weil wir ganz alleine auf 3 Klassen gehetzt wurden
ja wahnsinn nach 6 Monaten Java Programmieren

was ich falsch mache, dass der Kunde falsch angelegt wird.
er wird nicht falsch angelegt... wer sagt das... funktioniert eigentlich.. also anlegen und Nr suchen..

hau mal ein

Java:
   public static void main(String[] args) {
      Bank bank = new Bank();
      bank.kdAnlegen("Radauer", "Andreas", "Mondsee", 1234);
      bank.sucheKundennummer("Radauer");
   }
in die Bank... funktioniert...
 

Jats

Aktives Mitglied
Angelegt werden die Kunden, das weiß ich ja .. das Problem ist ja nur, dass nach dem Anlegen eines Kunden zwar mit kunden.getSize() 1 zurückbekomme, aber BlueJ kein Objekt erstellt hat.
Ich kann also die Methode ktoAnlegen anscheinend nicht von demselben Kunden aus ausführen, wie von dem, der vorher mit BlueJ angelegt wurde.
Darum heißt es dann z.B. bei kontoExistiert, dass die Liste konten leer ist.

ja wahnsinn nach 6 Monaten Java Programmieren

Ist das erste Mal, dass wir mehr als eine Klasse haben.
Ich weiß, dass wir nicht besonders schnell sind.
 
Zuletzt bearbeitet:

timbeau

Gesperrter Benutzer
Ich hab schon festgestellt, dass BlueJ leute zu sehr merkwürdigen Fragestellungen verleitet.

Eclipse spuckt z.B. Fehlermeldungen aus...tut BLueJ das nicht?

Wie versuchst du ein Konto anzulegen? Ein kunden.get(0).kontoanlegen(...) müsste funktionieren

edit:

Allerdings hilft es auch nicht sich erst übers "scheiß" Programm zu beschweren, noch sich über "3" Klassen aufzuregen. Progg halt mit Eclipse @home
 

ARadauer

Top Contributor
Ich kann also die Methode ktoAnlegen anscheinend nicht von demselben Kunden aus ausführen, wie von dem, der vorher mit BlueJ angelegt wurde
Warum kannst du das nicht? Weil du keine Variable siehst? wie timbeau schon gesagt hat. Der erste in der Liste also kunden.get(0) da ist dein Kunde, das ist dein Objekt..

der vorher mit BlueJ angelegt wurde? blueJ legt überhaupt keine Kunden an...
 

ARadauer

Top Contributor
Ja der, der in die List eingetragen wurde, nachdem ich bei Bank auf kdAnlegen geklickt habe.

geklickt? ok gut kann schon sein, zu dem kenn ich bluej zuwenig... :oops: aber wie gesagt, in deiner liste hast du die objekte...

Darum heißt es dann z.B. bei kontoExistiert, dass die Liste konten leer ist.
btw kontoExistiert ist falsch kunden.get(j).getKonto(j) :(
warum überprüfst du beim zweiten kunden das zweite konto und beim dritten das dritte konto?

du musst praktisch zwei verschachtelte schleifen machen, damit du alle konten aller kunden durchsuchst.

wenn du es gefunden hast gibst du true zurück, wenn beide schleifen zu enden sind hast du nix gefunden und gibst false zurück...

spoiler! hier die methode:
Java:
    public boolean kontoExistiert(int ktonr) {
        for(int kunde = 0;kunde<kunden.size();kunde++) {
           for(int konto= 0; konto <kunden.get(kunde).kontenzahl(); konto++){
              if(kunden.get(kunde).getKonto(konto).getKtoNummer()==ktonr) {
                 return true;
              }
           }  
        }
        return false;
 
    }
 

Jats

Aktives Mitglied
Zum Thema klicken .. wenn ich auf die Klasse klicke, erstellt BlueJ unten ein neues Objekt Bank und wenn ich da rechtsklick mache und auf "kdAnlegen" klicke, muss ich Parameter eingeben und ein Kunde wird der Liste hinzugefügt.
Aber es erscheint kein Kunde (wie Bank unten erschienen ist), von dem aus ich dann mit Rechtsklick dessen Methoden ausführen könnte.

Aber das mit existiert ist verständlich.
Ich werde das ausprobieren und mal sehen, was ich dann an Fehlern noch so auftut.
 
G

Gast2

Gast
*wurgs*

Warum nur wird in Schulen mit BlueJ gearbeitet? Hier sieht man mal wieder was das für ein Scheiss ist.

Also:
Programmier dir mal einen kleinen eigenen Test, in einer Klasse Test.java. In der main Methode legst du eine Bank an, Kunden und Konten und prüfst was sich tut.

EDIT:// grade gesehn - das wurde ja sogar schon für dich erledigt...

Also los, BlueJ beiseite und versuch mal das Beispiel ans Laufen zu bekommen. Da braucht es nicht mal Eclipse für. einfach javac und java auf der Kommandozeile
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
W Hilfe bei Methode Allgemeine Java-Themen 14
M Javascript Hilfe bei ToDoList? Allgemeine Java-Themen 1
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
T Hilfe bei negation von suchabfrage Allgemeine Java-Themen 2
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
N Hilfe bei RegEx benötigt Allgemeine Java-Themen 3
A Hilfe beim Verständnis Allgemeine Java-Themen 16
V Hilfe mit Java Code Allgemeine Java-Themen 4
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
alinakeineAhnungv Hilfe bei einem Straßenbahn-Projekt von mir Allgemeine Java-Themen 18
Aboya Kugel mit Hilfe von Dreiecken rekursiv zeichnen Allgemeine Java-Themen 2
K Anzeigemöglichkeit von Bildern in JavaFX mit Hilfe von MongoDB GridFS Allgemeine Java-Themen 0
A Preisberechnung, Hilfe Allgemeine Java-Themen 4
M Bräuchte Hilfe bei der Aufgabe Allgemeine Java-Themen 1
s_1895 Hilfe bei Java Tic Tac Toe Allgemeine Java-Themen 8
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
J Hilfe, Jar Datei kann nicht ausgeführt werden Allgemeine Java-Themen 2
M Hilfe bei einer Java Programmieraufgabe! Ab morgen Montag um 08:00 Uhr Allgemeine Java-Themen 5
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
U Erste Schritte Hilfe bei simplem Glücsspiel in Java Allgemeine Java-Themen 4
K OOP Suche Hilfe + Erklärung für eine Hausaufgabe Allgemeine Java-Themen 1
K Objektorientierung, hilfe Allgemeine Java-Themen 9
V Bilder bei bestimmten Zeiten wechseln, bitte um Hilfe Allgemeine Java-Themen 5
D Hilfe bei Informatik Hausaufgaben Allgemeine Java-Themen 30
RalleYTN Brauche Hilfe beim Run-Length-Decoding Allgemeine Java-Themen 9
S Hilfe bei dem Auslesen einer YAML Datei Allgemeine Java-Themen 8
F NetBeans Hilfe!!! Allgemeine Java-Themen 23
H Schiffe versenken JButton Schiffe mit GUI verbinden Hilfe! Allgemeine Java-Themen 2
M Bitte Hilfe mit REGEX (Negieren) Allgemeine Java-Themen 4
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
S GetMethode erstellen mit Hilfe von Parametern Allgemeine Java-Themen 9
B Hilfe bei Übungsblätter Allgemeine Java-Themen 9
O Erste Schritte Benzinverbrauch Code Hilfe Allgemeine Java-Themen 3
C Hilfe Bei Vegas Slide Allgemeine Java-Themen 0
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
Ice4P4rty Hilfe Bei Promillerechner Allgemeine Java-Themen 9
C Atfx mit Hilfe von OpenAtfx auslesen Allgemeine Java-Themen 1
perlenfischer1984 Hilfe bei Design (Pattern) Allgemeine Java-Themen 5
G Hilfe bei Projektarbeit Allgemeine Java-Themen 5
GenerationLost Input/Output Custom Serialization - hilfe bei Realisierung Allgemeine Java-Themen 8
J Hilfe!!! Ausbildung Allgemeine Java-Themen 14
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
B Swing Hilfe bei Abfrage von Benutzernamen und Passwort Allgemeine Java-Themen 2
T Hilfe bei Code Allgemeine Java-Themen 3
U Swing Hilfe beim Quellcode für ein Codierungs-/Decodierungsprogramm Allgemeine Java-Themen 9
S Hilfe bei Gui Allgemeine Java-Themen 3
O Best Practice Hilfe bei Algorithmus gesucht Allgemeine Java-Themen 10
GRAZZ0R Hilfe zum Spiel Mensch ärger dich nicht Allgemeine Java-Themen 1
C Hilfe bei den Ausgaben Allgemeine Java-Themen 4
K Hilfe bei GUI für Pizza-Service Allgemeine Java-Themen 11
J Hilfe bei Datumsberechnung aus Textfeld Allgemeine Java-Themen 10
I Bitte Drngend hilfe Allgemeine Java-Themen 2
C Hilfe bei NoClassDefFoundError Allgemeine Java-Themen 14
C Hilfe bei einer Fehler meldung Allgemeine Java-Themen 3
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
C Hilfe bei einer Point Ausgabe Allgemeine Java-Themen 7
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
N Erste Schritte [HILFE] effizienter,leistungsfähigermbackground Pixelbot Allgemeine Java-Themen 5
A Hilfe gesucht Allgemeine Java-Themen 44
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
C Hilfe bei einer Fehlermeldung Allgemeine Java-Themen 5
C Hilfe bei MalformedURLException Allgemeine Java-Themen 7
D Baum zeichnen hilfe Allgemeine Java-Themen 4
M Hilfe bei parseInt Allgemeine Java-Themen 4
F Compiler-Fehler Hilfe bei Startup error Allgemeine Java-Themen 3
D Mit Hilfe von Java aus Excel-Sheet Zellen in neues Excel Dokument kopieren Allgemeine Java-Themen 3
F Socket NullPointerException Bitte um hilfe! Allgemeine Java-Themen 12
M Input/Output Java + OCR ? Erfahrungen und bitte um Hilfe Allgemeine Java-Themen 12
M Brauche Hilfe bei Quellcodeverständnis Allgemeine Java-Themen 4
B Zahlen ausgeben hilfe! Allgemeine Java-Themen 8
S Java USB dringend Hilfe! Allgemeine Java-Themen 6
X Hilfe bei Programm Allgemeine Java-Themen 5
zer0zer0 Best Practice apache common cli - optionen für hilfe ausblenden Allgemeine Java-Themen 5
F Bitte um Hilfe! Allgemeine Java-Themen 5
S Hilfe bei geeignetem Pattern (Decorierer) Allgemeine Java-Themen 2
D Brauche Hilfe bei Rechnung (Exponentiation) Allgemeine Java-Themen 12
F Brauche Hilfe bei Java Allgemeine Java-Themen 6
S Hilfe bei simplem Programm Allgemeine Java-Themen 3
J Ein blutiger Anfänger braucht Hilfe Allgemeine Java-Themen 7
B Hilfe bei JUnit Test Allgemeine Java-Themen 1
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
B Dringend Hilfe gesucht für Struktogramm Allgemeine Java-Themen 11
C Brauche Hilfe mit Modulo Strategie Allgemeine Java-Themen 2
S Brauche Hilfe: Prüfungsaufgabe Java Allgemeine Java-Themen 8
J Probleme bei kompilieren ... Bitte um Hilfe Allgemeine Java-Themen 2
G java.exe in System 32. Hilfe!!! Allgemeine Java-Themen 8
M google plus java api - Anfänger sucht Hilfe Allgemeine Java-Themen 7
M Hilfe mit JOptionPane Allgemeine Java-Themen 2
I Hilfe: Klasse Vieleck Allgemeine Java-Themen 5
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
C Hilfe bei Adressbuch-Programmierung, wie am Besten mit JList implementieren Allgemeine Java-Themen 2
S Hilfe bei der Cosinusapproximation Allgemeine Java-Themen 10
K Arraylist Hilfe Allgemeine Java-Themen 13
K Hilfe Felder Allgemeine Java-Themen 7
T Hilfe im Lizenz-Dschungel Allgemeine Java-Themen 11
S brauche Hilfe für ssh connection in java Allgemeine Java-Themen 6
W sql Query abspeichern selber variabele hilfe...? Allgemeine Java-Themen 16
N Hilfe bei Projekt Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben