Passwort und Passwort wiederholen in if-Abfrage vergleichen

G

Grazzle

Mitglied
Schönen guten Tag, ich muss für ein Projekt einen Kalender erstellen, welcher eine Benutzerverwaltung beinhält.
Im Registrierungsprozess wird vom Benutzer
- Benutzername
- Passwort
- Passwort wiederholen
- ECTS
- Studiengang
erfragt.
In einer Methode hab ich diverse if Abfragen
Java:
public boolean eingabenUeberpruefen() {
boolean eingabeKorrekt = true;
if (txtUsername.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Username wurde nicht eingegeben");
eingabeKorrekt = false;
}

uswusw
Mein Problem ist, dass ich überprüfen möchte, ob Passwort und Passwort wiederholen übereinstimmen (sind beides JPasswordfield) ...bisher sind sämtliche versuche gescheitert, hab auch versucht die beiden JPasswordfield als String zu casten, also:
Java:
char[] passwortChar = pwPasswort.getPassword();
String passwort = new String(passwortChar);
&
Java:
char[] passwortNochmalChar = pwPasswortNochmal.getPasswort();
String passwortNochmal = new String(passwortNochmalChar);

aber nichts hat geholfen, bitte um Hilfe
 
Zuletzt bearbeitet von einem Moderator:
AG10

AG10

Mitglied
Was ist denn genau gescheitert? Bekommst du keine Werte zurück? Kannst du sie nicht vergleichen?
 
G

Grazzle

Mitglied
also meine if-Abfrage ist
Java:
} else if { (!passwort.equals(passwortNochmal)) {
JOptionPane.showMessageDialog(null, "Passwoerter stimmen nicht überein")
eingabeKorrekt = false;
}

Ohne das gecaste wurde bei jeder Eingabe die Meldung, dass die Passwoerter nicht übereinstimmen ausgegeben.
Nun mit dem Cast wird trotzdem registriert, auch wenn die Passwoerter nicht übereinstimmen
 
AG10

AG10

Mitglied
Das else if sieht mir irgendwie gefährlich aus. Poste mal die ganze eingabenUeberpruefen Methode.
 
G

Grazzle

Mitglied
Nun hab ich es auch mit else if (!(passwort == passwortNochmal)) versucht, bekomme bei richtiger und falscher eingabe die meldung, dass die passwörter nicht übereinstimmen
 
G

Grazzle

Mitglied
Java:
public boolean eingabenUeberpruefen() {
        boolean eingabeKorrekt = true;
        if (txtUsername.getText().isEmpty()) {
            JOptionPane.showMessageDialog(null, "Username wurde nicht "
                + "eingegeben.");
            eingabeKorrekt = false;
        } else if (txtStudiengang.getText().isEmpty()) {
            JOptionPane.showMessageDialog(null, "Studiengang wurde nicht "
                + "eingegeben.");
            eingabeKorrekt = false;
        } else if (pwPasswort.getPassword().equals("")) {
            JOptionPane.showMessageDialog(null, "Passwort wurde nicht "
                + "eingegeben.");
            eingabeKorrekt = false;
        } else if (pwPasswortNochmal.getPassword().equals("")) {
            JOptionPane.showMessageDialog(null, "Das wiederholte Passwort "
                + "wurde nicht eingegeben.");
            eingabeKorrekt = false;
        } else if (!(passwort == passwortNochmal)) {
            JOptionPane.showMessageDialog(null, "Passwoerter stimmen nicht "
                + "ueberein.");
            eingabeKorrekt = false;
     
        } else if (txtECTS.getText().isEmpty()) {
            JOptionPane.showMessageDialog(null, "Credits wurden nicht "
                + "eingegeben.");
            eingabeKorrekt = false;
        }
        try {
            int i = Integer.parseInt(txtECTS.getText());
            if (i < 0) {
                JOptionPane.showMessageDialog(null, "Credits duerfen nicht "
                    + "negativ sein.");
                eingabeKorrekt = false;
            }
        } catch (NumberFormatException exc) {
            JOptionPane.showMessageDialog(null, "Credits duerfen nicht "
                   + "negativ sein.");
            eingabeKorrekt = false;
        }
      
        return eingabeKorrekt;
    }
 
J

Joose

Top Contributor
Nun hab ich es auch mit else if (!(passwort == passwortNochmal)) versucht, bekomme bei richtiger und falscher eingabe die meldung, dass die passwörter nicht übereinstimmen

Mit == vergleichst du bei Objekten nur die Referenz! Um den Inhalt zu prüfen musst du mit equals vergleichen ;)
Was @AG10 sagen will: Wenn bei einem "if elseif" eine if-Bedingung zutrifft dann werden die restlichen gar nicht mehr geprüft! Möglicherweise greift eine if-Bedingung davor schon und die Passwörter werden dann gar nicht mehr geprüft.
 
G

Grazzle

Mitglied
Nun habe ich es wieder zu
Java:
else if (!passwort.equals(passwortNochmal)) {
            JOptionPane.showMessageDialog(null, "Passwoerter stimmen nicht "
                + "ueberein.");
            eingabeKorrekt = false;
    
        }

geändert, er registriert in beiden fällen
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Der Vergleich sieht so passend aus, der Fehler wird an einer anderen Stelle (vermutlich einer hier nicht gezeigten) liegen.

blind würd ich sagen, beim zuweisen von passwort und passwortNochmal
 
JStein52

JStein52

Top Contributor
Da kann ich @mrBrown nur zustimmen. Bei mir funktioniert folgendes:

Code:
        String password, wiederholen;
        password = new String(passwortFeld.getPassword());
        wiederholen = new String(wiederholenFeld.getPassword());
        if (!password.isEmpty() && password.equals(wiederholen)) {
            // mache was ....
        }
 
G

Grazzle

Mitglied
Das, was du und JStein52 gesagt haben, hab es auf seine Art ausprobiert
Java:
if (!pass.isEmpty() && !pass.equals(wiederholen)) {
JOptionPane.showMessageDialog(null, "Passwörter stimmen nicht überein")
}

Funktioniert genauso wie es soll, wenn beide Passwörter gleich sind, quasi in beiden feldern "123" steht, wird der Benutzer registriert und man kann sich mit den Daten einloggen, und wenn in einem Feld "123" und im Wiederholungfeld "1234" steht, kommt die oben erwähnte Meldung.
 
JStein52

JStein52

Top Contributor
Du hast aber die Abfrage ein bisschen verdreht und die stimmt noch nicht ganz. Wenn das erste Feld leer ist würde er wohl auch registrieren, egal was im zweiten steht oder ?
Wenn du die Abfrage so machen willst dass der If-Zweig der Fehlerfall ist dann musst du so abfragen:
Code:
if (pass.isEmpty() || !pass.equals(wiederholen)) {
JOptionPane.showMessageDialog(null, "Passwörter stimmen nicht überein")
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Passwort abprüfen Java Basics - Anfänger-Themen 5
M Code nur für Cracks? Crack the Passwort Übung Java Basics - Anfänger-Themen 7
cpt.Tomato Scanner problem mit Passwort Login Java Basics - Anfänger-Themen 3
B Email versand - aber akzeptiert auch falscher Username und Passwort??? Java Basics - Anfänger-Themen 1
N Passwort Anfrage vor Programm start Java Basics - Anfänger-Themen 1
K Methoden Passwort Bestätigungsfeld mit Password vergleichen Java Basics - Anfänger-Themen 7
A Passwort System Java Basics - Anfänger-Themen 4
E Wie Passwort-Eingabe (ohne Echo!) über Konsole ? Java Basics - Anfänger-Themen 4
J Passwort überprüfen Java Basics - Anfänger-Themen 3
B Passwort prüfen bis eindeutig - while Schleife? Java Basics - Anfänger-Themen 11
C Encrypted (passwort) Rar Datei entpacken Java Basics - Anfänger-Themen 42
Detox Passwort verschleiern Java Basics - Anfänger-Themen 4
A Erste Schritte Passwort an "Internetseite" übergeben. Java Basics - Anfänger-Themen 2
B Passwort zurücksetzen Java Basics - Anfänger-Themen 1
U Passwort verschlüsseln schlägt fehl Java Basics - Anfänger-Themen 3
T Passwort Generator Java Basics - Anfänger-Themen 2
B If Abfrage mit Passwort und Username Java Basics - Anfänger-Themen 2
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
Z User/passwort eingabe...Help! Java Basics - Anfänger-Themen 4
M Passwort-Generator Java Basics - Anfänger-Themen 3
S Passwort Manager Java Basics - Anfänger-Themen 2
J Passwort Java Basics - Anfänger-Themen 4
A Passwort Schutz Java Basics - Anfänger-Themen 8
U Passwort auf JButton setzen. Java Basics - Anfänger-Themen 2
P Passwort Abfrage Java Basics - Anfänger-Themen 3
F Login Passwort-Vergleich Java Basics - Anfänger-Themen 12
c_sidi90 Passwort Generator Code Erweiterung Java Basics - Anfänger-Themen 12
K Methode Passwort generieren Java Basics - Anfänger-Themen 10
F OOP Textdatei zippen und mit Passwort sichern Java Basics - Anfänger-Themen 5
Benji0815 Java Passwort in Formular eingeben Java Basics - Anfänger-Themen 5
G Passwort verschluesselt speichern Java Basics - Anfänger-Themen 7
M Regular Expression - Passwort - aufeinanderfolgende Zeichen Java Basics - Anfänger-Themen 3
H Passwort einlesen funktioniert nicht wie gewünscht Java Basics - Anfänger-Themen 5
S Erster Versuch: Passwort erstellen Java Basics - Anfänger-Themen 3
S String Vergleich mit Passwort geht nur bei Zahlen ? Java Basics - Anfänger-Themen 7
S Vergleichen von verschlüsselten Passwort Java Basics - Anfänger-Themen 3
G Passwort vor unbefugtem Zugriff schützen Java Basics - Anfänger-Themen 7
D Passwort verschlüsseln mit MD5 Java Basics - Anfänger-Themen 30
P Passwort überprüfen mit regular Expression Java Basics - Anfänger-Themen 4
O Unsichtbares Passwort Java Basics - Anfänger-Themen 2
R Passwort Maskierung in der Konsole Java Basics - Anfänger-Themen 9
I Frame mit Passwort-Eingabe (Datenbank) Java Basics - Anfänger-Themen 6
V Passwort-String byteweise in eine Datei schreiben Java Basics - Anfänger-Themen 6
T Passwort nicht in URL übergeben Java Basics - Anfänger-Themen 5
B Benutzername und Passwort an Internetseite übergeben Java Basics - Anfänger-Themen 3
B Passwort generator Java Basics - Anfänger-Themen 7
K Zufalsszahl soll sich nicht wiederholen Java Basics - Anfänger-Themen 9
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
D Substring wiederholen Java Basics - Anfänger-Themen 33
S Programm läuft nicht weiter, wie Code wiederholen? Java Basics - Anfänger-Themen 2
D Klasse durch eine Schleife wiederholen Java Basics - Anfänger-Themen 1
B Wiederholen einer if/switch-case Schleife Java Basics - Anfänger-Themen 9
F Daten auf Webserver laden - wiederholen bei Fehler Java Basics - Anfänger-Themen 0
D Java BlueJ Programm wiederholen? Java Basics - Anfänger-Themen 6
K Das Gleiche wiederholen Java Basics - Anfänger-Themen 5
E Wiederholen ? y/n Java Basics - Anfänger-Themen 2
M Falsche Eingabe wiederholen lassen Java Basics - Anfänger-Themen 2
F Befehle wiederholen Java Basics - Anfänger-Themen 7
R eine Methode automatisch wiederholen Java Basics - Anfänger-Themen 12
R Erste Schritte Wie am einfachsten Aufgabe wiederholen Java Basics - Anfänger-Themen 37
N Anfrage- wiederholen Ja oder Nein Java Basics - Anfänger-Themen 12
P Thread in Schleife wiederholen Java Basics - Anfänger-Themen 7
E Objekteingabe wiederholen Java Basics - Anfänger-Themen 2
B klasse wiederholen lassen. Java Basics - Anfänger-Themen 5
H OOP Setter im Konstruktor um code nicht zu wiederholen? Java Basics - Anfänger-Themen 2
J Wiederholen? Java Basics - Anfänger-Themen 5
M AudioStream - wiederholen, pausieren und wieder starten Java Basics - Anfänger-Themen 2
B eine Aktion Wiederholen Java Basics - Anfänger-Themen 6
O wiederholen Java Basics - Anfänger-Themen 4
H Eingabe so lange wiederholen bis gültiger Wert eingegeben. Java Basics - Anfänger-Themen 7
E Nach einer gewissen Zeit wiederholen Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Anzeige

Neue Themen


Oben