2017-03-23 7 views
1

Ich versuche, die Benutzereingabe 'Benutzername' zu vergleichen, um die Methode in der Käufer-Klasse 'Buyer.getUser' zu erhalten und 'Passwort' zu vergleichen, um die Methode in der Käufer-Klasse 'Buyer.getPass' zu bekommen. Es fragt weiter mir den Benutzernamen und das Passwort als statisch in der Käufer-Klasse setzen jedoch diese noch immer sagt der Login in unsucessful selbst wenn der richtige Eingang in eingegeben wurde.Benutzereingaben mit Getter vergleichen

Benutzerklasse

switch (credentials) { 
     case 1 : { 
      System.out.println("Buyer"); 
      System.out.println("Enter Username: "); 
      username = S.next(); 
      System.out.println("Enter Password: "); 
      password = S.next(); 

          if ((username.equals(Buyer.getUser())) && (password.equals(Buyer.getPass()))){ 
           System.out.println("Login Successful"); 
          }else{ 
           System.out.println("Login unsucessful"); 
      break; 
     } 
        } 

Käufer Klasse

public class Buyer { 

private String username; 
private String password; 


public Buyer (String username, String password){ 
    this.username = username; 
    this.password = password; 
} 

public String getUser(){ 
    return username; 
} 

public String getPass(){ 
    return password; 
} 

Benutzerklasse

public static void buyerCredentials() { 
    ArrayList<Buyer> buyer = new ArrayList<Buyer>(); 

    buyer.add(new Buyer("user1", "pass123")); 
    buyer.add(new Buyer("user2", "pass321")); 

    for (int i = 0; i < buyer.size(); i++){ 
     System.out.println(buyer.get(i)); 
    } 
} 

Vielen Dank im Voraus!

Antwort

0

Sie müssen eine Instanz des Buyer-Objekts erstellen, bevor Sie es vergleichen.

Buyer myBuyerInst = new Buyer("MyUser", "MyPass"); 

jetzt können Sie vergleichen:

username.equals(myBuyerInst.getUser()) 

Sie haben durch Ihre Liste iterieren:

for(Buyer b : buyer) { 
    username.equals(b.getUser()) 
} 
+0

Ich habe gerade hinzugefügt, wie ich bereits in einer anderen Klasse in meinem Programm hatte. Der gesamte Code befindet sich jetzt in der obigen Frage. – katemidd

+0

@katemidd Ich aktualisierte meine Antwort – Eknoes

1

Eigentlich sind Sie nicht Gegenstand des Käufers Klasse und statt Objekt erstellen Sie Variablen aufrufen Als statische Referenz erhalten Sie immer null für Benutzername und Passwort.

Buyer buyer = new Buyer(); 
buyer.getUser(); 
buyer.getPass(); 
Verwandte Themen