Sie sind nicht angemeldet.
Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Cyrus« (25. November 2009, 10:03)
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
// Beispiel einer while-Schleife, mit Passwortabfrage public class Passwort { /** * Liest eine Text von der Eingabe und gibt ihn zurück * @return die von der Eingabe eingelesene Zahl */ public static String EingabeString() { java.util.Scanner scanner = new java.util.Scanner(System.in); return scanner.next(); } public static void main (String[] args ) { // Deklaration und Initialisierung der Variablen String eingabe = ""; String passwort = "Jens"; boolean richtigesPasswort = true; // Do-While-Schleife für die Übereinstimmung der Passwortes. do { if (richtigesPasswort == false) { System.out.println ("Falsches Passwort!"); } System.out.println ("Geben Sie bitte Ihr Passwort ein"); // Einlesen der Eingabe mit der Methode EingabeString. eingabe = EingabeString(); // Überprüfung Übereinstimmung richtigesPasswort = eingabe.equals(passwort); } while (richtigesPasswort == false); System.out.println( "Herzlichen Glueckwunsch, das Passwort ist richtig!"); System.out.println( "Schleife beendet" ); } } |
Der Vergleichsoperator `==` kann in Java (mangels Operator-Overloading?) nur für native Typen (int, float, boolean etc.) verwendet werden. Für Objekte, dessen Klassen on `Object` erben, muss mittels der Methode `equals()` verglichen werden. Das gilt für Integer, Float, Boolean und auch String.
== kann man auch mit Objekten benutzen. Da ist es aber kein "equals" sondern ein "same".
Und das mit dem Operator-Overloading, wie man es beispielsweise von C(++) kennt, lassen wir mal. Das hat insgesammt wohl mehr geschadet als genutzt.
-