Methoden Variable aus einer anderen Methode in einer Methode aufrufen

ElDonRon

Mitglied
Hallo zusammen,

ich stehe gerade leider etwas auf dem Schlauch. Folgendes ich hab den unten aufgeführten Code, welcher dazu dient ein Passwort auf seine richtigkeit zu überprüfen.

Jetzt muss ich noch einen Teil des Passwortes mit dem Nutzernamen vergleichen. Das ganze will ich via Substrings lösen. Nur wie mache ich es der Methode klar, dass ich die Variable user aus der Main-Methode aufrufen will?

Wie gesagt, stehe da gerade echt auf dem Schluch und weiss nicht weiter. Wäre super wenn jmd mir schnell weiterhelfen könnte, wollte das Teil nämlich eigentlich heute fertig haben.

Danke schon mal vorab!

Java:
public class PasswortNutzung {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        
        
        String user = "Testuser";
        String pw = "aaab";
        System.out.println("Ergebnis: " + checkPasswort(pw));
        
    }
    
    public static boolean checkPasswort(String wort)
    {
        boolean ok = true;
        char zeichen1;
        char zeichen2;
        int x = 0;
        String zeichenfolge1, zeichenfolge2;
        
        
        if (wort.length() < 3)
            ok = false;
        else
            if (wort.length() >= 8)
                ok = false;
            else
                if (wort.startsWith("!"))
                    ok = false;
                else
                    if (wort.startsWith("?"))
                        ok = false;
                    else
                        if (wort.startsWith(" "))
                            ok = false;
                        else
                        	for(int i = 0; i < wort.length()-1; i++){
                        	zeichen1 = wort.charAt(i);
                        	zeichen2 = wort.charAt(i+1);
                        	                        	                       	
                        	if(zeichen1 == zeichen2)
                        	x++;
                        	
                        	else
                        	x = 0;
                        	
                        	if (x >= 2)
                        	ok = false;
                        	                                           		
                        	}

                                    for (int i = 0; i < user.length()-1; i++){
                                      zeichenfolge1 = user.substring(0,2);
                                    }
        return ok;
    }

}
 
Hallo,

falsch ist auf jeden Fall diese Zeile:
Java:
if(zeichen1 == zeichen2)

zeichen1 und zeichen2 sind Strings und somit Objekte.
Objekte vergleicht man mit equals.

Java:
if (zeichen1.equals(zeichen2))
 
Nein, zeichen1 und zeichen2 sind chars. Und die musst du per == vergleichen.

@ElDonRon:
Du übergibst doch schon das Passwort, übergeb doch zusätzlich noch den username.
 
Nein, die ist richtig aus dem einfachen Grund, da equlas nur für Strings gilt aber nicht für Chars. Das Programm läuft auch soweit.

Es geht einfach nur um die übergabe der variable. Da stehe ich jetzt auf dem Schlauch.

Edit:

So?

Java:
 public static boolean checkPasswort(String pw, String user)
 

Zurück
Oben