Eigenes Kontosystem vervollständigen

Status
Nicht offen für weitere Antworten.
Hy @ all!

Also ich habe vor ein paar Wochen angefangen, die Java-Sprache zu erlernen und wollte jetzt mein eigenes Testprogramm schreiben.

Jetzt hab ich aber folgendes Problem:

Und zwar habe ich 3 verschiedene Swing- Klassen erstellt die auch funktionieren und habe auch eine Java Klasse Konto angelegt um eben ein neues Konto zu erstellen.

Mein Problem ist das ich nicht weiß wie ich das deklarieren soll, dass wenn sich ein neuer Benutzer registriert, automatisch ein Konto erstellt wird auf dem man später auch zugreifen kann bzw. abheben, einzahlen und den Kontostand abfragen kann.

Code der Klasse Konto:

public class Konto {
double kontostand;
String benutzername;


/** Creates a new instance of Konto */
public Konto() {
}
public void setKontostand(double ktoStand) {
kontostand=ktoStand;
}

public double getKontostand() {
return kontostand;
}

public void setBenutzername(String benutzer) {
benutzername=benutzer;
}

public String getBenutzername() {
return benutzername;
}

public void einzahlen(double ein) {
kontostand = kontostand + ein;
}

public void abheben(double aus) {
kontostand = kontostand - aus;
}


}



Habe schon probiert wenn man auf dem Button registrieren klickt soll er mit folgendem Code ein neues Konto erstellen. Funktioniert aber nicht da er es jedes mal überschreibt:


private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {


Konto vornachname = new Konto();
vornachname.setKontostand(0);
vornachname.setBenutzername(vornachname);

}


wobei vornachname ein zusammengeführter String aus dem vor und nachnamen des registrierten benutzers ist.

Bitte um Hilfe!!!Weiss einfach nicht mehr weiter!

Lg XxX_Cobra_XxX
 

Schandro

Top Contributor
Du brauchsten ne Collection
HashMap <String,Konto>
würde sich anbieten

Dynamische Varaiblennamen gibt es nicht in Java.
 

Schandro

Top Contributor
wenn sie ne Referenz auf diese HashMap haben bzw. auf das Object das die HashMap kapselt, dann ja. Ansonsten nein.
(Bitte komm nicht auf die Idee, irgendwas mit static oder Singleton anzufangen, dass ist hier unpassend und auch insgesamt meistens schlechter Programmierstil)
 
Können Sie mir bitte einen Beispielscode zeigen, wie das aussehen würde das ich eine Referenz auf diese Hashmap habe und wie man eine Hashmap kapselt?

Ich habe es bis jetzt so gelöst, da jeder neue Benutzer Vorname, Nachname und ein Passwort eigeben muss, danach wenn man auf den "Registrieren - Button" klickt eine neue Datei mit den namen (vornamen und den nachnamen) in meinem package erstellt wird und darin das Passwort liegt.
Funktioniert super nur kann ich nicht für jeden neuen Benutzer eine Konto erstellen.

Hier ist der Code dafür den ich verwendet habe:

Java:
Properties addname= new Properties();
        
        addname.put("Passwort",jPasswordField1.getText());
        try{
       
                FileOutputStream addName = new FileOutputStream(jTextField2.getText()+jTextField1.getText());
                addname.store(addName,"");
                addName.close();
         }
         catch(Exception ex){
         ex.printStackTrace();
danach habe ich eine Abfrage gemacht ob der eingegebene Benutzername überhaupt existiert und ob das dazugehörige Passwort stimmt wenn ein Benutzer auf den "Login- Button" klickt.

Code:

Java:
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
// Klasse Login/ Benutzer und Passwort- Abfrage

        String alt = jTextField1.getText();
        String neu = alt.toLowerCase().replace(" ","");
        
        Properties addName = new Properties();
        
        try {
            
            FileInputStream verifyUser = new FileInputStream(neu);
            
            
            addName.load(verifyUser);
                
        } catch(Exception ex) {
            
            jLabel5.setText("Der von Ihnen angegebene Benutzername existiert nicht!");
               jLabel3.setForeground(new java.awt.Color(255, 51, 51));
            
        }
        
        if(addName.getProperty("Passwort").equals(jPasswordField1.getText()))
        {   dispose();
            new LoginKonto();
         
            LoginKonto Names = new LoginKonto();
            Names.setName(alt);
            
            alt.toString();
            
        }
        if(true)
        {
            jLabel5.setText("Das von Ihnen angegebene Passwort ist falsch!");
               jLabel4.setForeground(new java.awt.Color(255, 51, 51));
        }
        
        
    }

Ist dies einigermassen korrekt oder eher nicht?

Und noch eine Frage warum wird immer dieser Code gelb unterstrichen?:

Java:
jPasswordField1.getText()
 
S

SlaterB

Gast
> Und noch eine Frage warum wird immer dieser Code gelb unterstrichen?

falsche Frage, richtige Frage wäre: was bedeutet es, wenn IRGENDETWAS gelb unterstrichen ist, und wieso weiß ich das nicht?

wenn du eine Entwicklungumgebung verwendest, solltest du die nennen, Eclipse?
wennst du die View 'Problems' mit ihren Errors und Warnings? da steht das drin,
falls es nicht unter tausenden anderen Meldungen unter geht,

auch wenn du der Maus über die Zeile gehts oder über das zugehörige Symbal am Rand, wird eine Info eingeblendet
 
Ich verwende Netbeans. Hier die Info wenn ich mit der Maus über diese Zeile gehe:

warning: [deprecation] getText() in javax.swing.jPasswordField has been deprecated

Hab schon nachgeschaut was deprecated bedeutet nämlich veraltet oder abgelehnt?
Damit kann ich aber nichts anfangen?Weiß da vielleicht jemand bescheid?
 
S

SlaterB

Gast
der nächste Schritt ist nun, in der API zu dieser Methode die Begründung nachzulesen:
JPasswordField (Java Platform SE 6)

Grund ist letztlich: ein Passwort sollte nicht als String in der JVM existieren, da dieser gesondert gespeichert werden
und dann für andere zugreifbar sind oder so
 
Jetzt hab ich alle jPasswordField1.getText() in jPasswordField1.getPassword() geändert womit ich gleich das nächste Problem habe und zwar gibt es jetzt die Methode isEmpty() nicht mehr.

Hat jemand vielleicht eine Lösung für dieses Problem?
 
S

SlaterB

Gast
getPassword() liefert doch ein ganz anders Objekt zurück, ein char[] statt String (eben weil String hier leicht sicherheitsgefährdend ist)
bisschen mitdenken und schauen, bitte
 

goya

Mitglied
für ein paar wochen java gehst du aber gleich gscheid in medias rais.
Swing, Mouse bzw. ActionListener, FileInputStreams, Passwortfelder

also ich hab das nach ein paar wochen noch bei weitem nicht gelernt. Ich hab begonnen alle Primzahlen bis 100 ausgeben zu lassen, oder eine kleine Temperaturübung, aber net glei so ein Bsp.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
R Eigenes Protokoll zur Übermittlung von Daten zum Webserver? Java Basics - Anfänger-Themen 4
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
G eigenes package Java Basics - Anfänger-Themen 3
Anfänger2011 Eigenes Betriebssystem Java Basics - Anfänger-Themen 6
P Eigenes Fenster erstellen Java Basics - Anfänger-Themen 5
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
P eigenes Equal mit IndexOf() Java Basics - Anfänger-Themen 5
L eigenes Steuerelement Zeitstrahl Java Basics - Anfänger-Themen 3
F Eigenes Package - Variable exportieren Java Basics - Anfänger-Themen 11
GianaSisters Methoden eigenes TableModel -> removeRow möglich machen Java Basics - Anfänger-Themen 30
D Eigenes Event beim TimeOut Java Basics - Anfänger-Themen 2
C Eigenes Konsolenfenster Java Basics - Anfänger-Themen 3
D Packages verwenden und in eigenes Projekt integrieren Java Basics - Anfänger-Themen 3
B Eigenes Package Java Basics - Anfänger-Themen 6
S Eigenes Objekt temporär verändern? (Clone)? Java Basics - Anfänger-Themen 12
M Eigenes Programm Flaechenrechner Java Basics - Anfänger-Themen 8
L Eigenes List Model für Icon + String -> Speicherhungrig? Java Basics - Anfänger-Themen 8
Developer_X eigenes ImageIcon schreiben Java Basics - Anfänger-Themen 11
Q Eigenes Event feuern Java Basics - Anfänger-Themen 5
S Eigenes Kontextmenü Java Basics - Anfänger-Themen 3
I jar in eigenes Programm unwandeln (OSX und Win) Java Basics - Anfänger-Themen 4
R Eigenes Pair Object Java Basics - Anfänger-Themen 2
C eigenes TableModel Java Basics - Anfänger-Themen 2
data89 In Java ein eigenes Lexikon erstellen? Doch wie? Java Basics - Anfänger-Themen 5
GilbertGrape Eigenes Event? Java Basics - Anfänger-Themen 2
K javadoc eigenes doclet in console starten Java Basics - Anfänger-Themen 3
B Eigenes Event schreiben Java Basics - Anfänger-Themen 7
M Eigenes Ellipse2D-Objekt Java Basics - Anfänger-Themen 5
G Eigenes Fenster Java Basics - Anfänger-Themen 51
N Eigenes Icon in InputDialog geht nicht! Java Basics - Anfänger-Themen 7
J Eigenes Symbol für Java Programm Java Basics - Anfänger-Themen 3
M Eigenes Seitenformat definieren Java Basics - Anfänger-Themen 2
Q Eigenes TableModel - NullPointerException Java Basics - Anfänger-Themen 6
F eigenes Package Java Basics - Anfänger-Themen 2
B Package/Klasse in ein eigenes Projekt einbinden? aber wie? Java Basics - Anfänger-Themen 6
Arita welche Fehler gibt es noch? wie kann ich es noch vervollständigen Java Basics - Anfänger-Themen 15
D Erste Schritte Methoden vervollständigen Java Basics - Anfänger-Themen 15
V Klasse vervollständigen Java Basics - Anfänger-Themen 11
D Dateinamen vervollständigen Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben