2016-04-03 10 views
0

Ich möchte, dass mein Programm den Benutzer auffordert, den festgelegten Benutzernamen und das Passwort einzugeben. Wenn die Anmeldeinformationen nicht übereinstimmen, möchte ich, dass die Schleife so lange wiederholt wird, bis sie entweder richtig sind oder die Anzahl der Versuche überschreitet.Wenn Anweisungen und Benutzernamen/Passwort

Zum Beispiel, wenn sie „username“ falsch, sollte Programm halten auf Benutzer von „username“ zu fragen, bis sie den Benutzernamen richtig zu machen oder sie erreichen 5 Versuche

import javax.swing.JOptionPane; 

    public class Password_DiljotJ_R1 { 

    public static void main(String[] args) { 

    int attempt = 0; 

String username = "john"; 
String password = "123"; 
String usernameEntered; 
String passwordEntered; 

usernameEntered = (JOptionPane.showInputDialog("Please enter the username")); 
passwordEntered = (JOptionPane.showInputDialog("Please enter the password")); 

if (usernameEntered.equals(username) && passwordEntered.equals(password)){ 

    JOptionPane.showMessageDialog(null,"Credentials Match. Welcome John!");  
} 



else if (usernameEntered.equals(username)) { 

    JOptionPane.showMessageDialog(null,"Password Invalid."); 
    attempt++; 
    passwordEntered = (JOptionPane.showInputDialog("Please enter the password AGAIN")); 

    } 

else if (passwordEntered.equals(password)) { 

    JOptionPane.showMessageDialog(null, "Username Invalid."); 
    attempt++; 
    usernameEntered = (JOptionPane.showInputDialog("Please enter username AGAIN")); 
} 

else { 

    JOptionPane.showMessageDialog(null,"Both username and password are inncorrect. Who are you"); 
    attempt++; 
    usernameEntered = (JOptionPane.showInputDialog("Please enter username AGAIN")); 
    passwordEntered = (JOptionPane.showInputDialog("Please enter password AGAIN")); 
} 
    if (attempt == 5){ 

    JOptionPane.showMessageDialog(null,"You've reached maximum attempts. Program will now close"); 
    } 


    } 


} 
+1

Also, was ist Ihre Frage? Was macht der von Ihnen gelieferte Code, von dem Sie denken, dass er das nicht tun sollte? – MarsAtomic

Antwort

-1

Das folgende Snippet wird für eine Anforderung Benutzername und Passwort, solange der angegebene Benutzername und das Passwort nicht mit dem echten übereinstimmen und der Benutzer nur weniger als 5 Mal versucht hat.

import javax.swing.JOptionPane; 

public class Password_DiljotJ_R1 { 

    public static void main(String[] args) { 

     int attempt = 0; 
     String username = "john"; 
     String password = "123"; 
     String usernameEntered; 
     String passwordEntered; 

     do { 
      usernameEntered = (JOptionPane.showInputDialog("Please enter the username")); 
      passwordEntered = (JOptionPane.showInputDialog("Please enter the password")); 
      attempt++; 
     } while (usernameEntered != username && passwordEntered != password && attempt < 5); 
    } 

} 
+0

Ich bezweifle ernsthaft, dass Passwörter die Groß-/Kleinschreibung beachten sollten, es sei denn, Sie verwenden Microsoft [LM Password Hashes] (http://www.windowsecurity.com/articles-tutorials/authentication_and_encryption/How-Cracked-Windows-Password-Part1.html) – KevinO

+0

Fest. Vielen Dank. @KevinO – Bautista

Verwandte Themen