Skip to main content

Java Übung 32: Passworteingabe und Passwortvergleich

In dieser Java Übung möchte ich, dass du ein Programm erstellst, welches ein eingegebenes Passwort kontrolliert.

  • Lege dazu eine Klasse „PassWortAbfrage“ an.
  • In dieser Klasse befindet sich die main-Methode für den Programmmstart.
    Beim Start des Programmes wirst du aufgefordert ein Passwort mittels Bildschirmeingabe einzugeben.
  • Dann wird eine weitere statische Methode „pruefePassWort()“ aufgerufen.
    Und diese Methode fordert dich dazu auf, ein Passwort einzugeben.
  • Nachdem du das Passwort eingeben hast, prüft die Methode „pruefePassWort()“, ob dieses mit dem ursprünglichen Passwort überein stimmt oder nicht.
  • Falls das Passwort überein stimmt, erhältst du die Bildschirmausgabe „Zugang gewährt“.
    Falls aber dein Passwort falsch ist, erhältst du die Ausgabe „Passwort falsch. Neuer Versuch“.
    Und du erhältst wieder die Möglichkeit ein Passwort auf der Konsole einzugeben.
  • Nach drei falschen Versuchen erscheint die Bildschirmausgabe „Passwort falsch. Zugang verweigert. Wenden Sie sich an den System-Administrator“.
    Nach dem dritten Versuch ist kein neuer Passwortversuch mehr möglich.

Also dann viel Spaß beim Lösen dieser Java Übung.


Hier ist die Lösung zu dieser Java Übung.

import java.util.Scanner;

public class PassWortAbfrage {
	
	static void pruefePassWort(String passWortVergabe){
		Scanner eingabe = new Scanner(System.in);//Scanner für Eingabe der zu-überprüfenden Passwörter
		System.out.println("Gib Passwort ein!!");//Aufforderung zur Passworteingabe
		String passwortPruefung = eingabe.next() ;//Speichern des eingebenen Passwortes
		int i =1;//Zählvariable für Versuche
		
		while(passWortVergabe.equals(passwortPruefung)==false && i<3){
				System.out.println("Passwort falsch. Neuer Versuch");
				passwortPruefung = eingabe.next();
				i++;
			}	
		if (passWortVergabe.equals(passwortPruefung)==true){
			System.out.println("Zugang gewährt");
		}
		else {
		System.out.println("Passwort falsch. Zugang verweigert. Wenden Sie sich an den System-Administrator");
		}
	}

	public static void main(String[] args) {
		Scanner passwortEingabe = new Scanner(System.in);//Scanner zur Nutzereingabe
		System.out.println("Vergebe ein Passwort");//Auffordderung zur Passwortvergabe
		String passWortVergabe = passwortEingabe.next();//Speichern des eingebenen Passwortes
		pruefePassWort(passWortVergabe);//Methodenaufruf und Übergabe des Passwortes
	}
}

Für die Lösung dieser Aufgabe habe ich die while-Schleife gewählt, da die Anzahl der Schleifendurchläufe ungewiss sein wird.
Du weißt zwar, dass es höchstens drei Durchläufe geben wird.
Dennoch ist nicht 100%-ig klar, wie viele Durchläufe es genau sein werden.

Die Schleifenbedingung besagt:
Solange das eingegebene Passwort nicht mit dem gespeicherten Passwort übereinstimmt und die Zählvariable unter drei ist – geh in den Schleifenrumpf.

Im Schleifenrumpf wird dann ganz normal die Zählvariable i um eins erhöht und es wird zur Neueingabe aufgefordert.

Außerhalb der Schleife wird dann nochmal geprüft, ob das Passwort übereinstimmt.
Und in Abhängigkeit der Richtigkeit des Passwortes, werden zwei unterschiedliche Bildschirmausgaben produziert.


Ähnliche Beiträge

Du bekommst was du vereinbarst – Die Rückgabewerte von Java Methoden

Java Methoden Rückgabetypen

Was du vereinbarst, das bekommst du zurück. Ach wäre es schön, wenn alles im Leben so funktionieren würde. Aber zum Glück funktioniert dieses Prinzip bei deinen Java Methoden. Denn du kannst den Rückgabetypen im Methodenkopf vereinbaren. Doch bevor ich dir zeige, wie du den Rückgabetypen anlegen kannst…. Lass mich dir zeigen, wofür du den Kram […]

Java Exklusives Oder – So nutzt du den Xor Operator

Java exklusives oder

In diesem Beitrag möchte ich dir den Xor Operator von Java vorstellen. Dieser Operator wird auch als ausschließendes oder exklusives Oder bezeichnet. Ein Beispiel: Was wilst du heute zum Mittag essen: Fleisch oder Fisch? Auf diese Frage gibt es nur eine Antwort. Es ist entweder Fisch oder Fleisch. Niemals beides. Das Eine schließt das andere […]

Polymorphie bringt Vorteile für Java Arrays

Java Polymorphie Arrays

Wenn Java Arrays, Schubladen oder Container sein sollen… Dann wäre der Gebrauch einer solchen Schublade ziemlich einseitig und festgefahren. Denn in jedes Array passen zwar mehrere Daten – aber immer nur vom gleichen Datentyp. Immer gleicher Datentyp? Also eine Schublade nur für Socken, Unterwäsche und der ganze andere Kram passt dann eben nicht hinein. Um […]

Den Java Vererbungsbaum nach dem Ist-Es-Prinzip richtig entwerfen

Java Vererbungsbaum

Vererbungsbaum in Java – klingt erstmal komisch. Dennoch wird dies so bezeichnet. Gemeint sind damit – die einzelnen Hierarchiestufen oder Vererbungsebenen – von der Superklasse bis runter zu den Kindklassen. Wie sieht das nun konkret aus? Vererbung bedeutet: Du definierst einen allgemeinen Typen – zB. Möbel Und dann implementierst du eine Unterklasse, welche die Oberklasse […]

Java Polymorphie – besserer Code und mehr Möglichkeiten

Java Polymorphie Vorteile

Polymorphie ist das Herzstück jeder objektorientierten Sprache. Nicht nur in Java – auch in Python, Javascript und in anderen Sprachen. Aber was bedeutet Polymorphie eigentlich? Polymorphie oder auch Polymorphismus genannt, kommt aus dem Griechischen. Es bedeutet Vielgestaltigkeit. Etwas freier übersetzt, kannst du es auch als Facettenreichtum bezeichnen. Im Grunde genommen zielt die ganze Java Vererbung […]

Lassen wir Java rechnen – Die Rechenoperationen für Variablen

Java rechnen

Ich liebe Mathe. In der Biographie „Der Mann, der die Zahlen liebte“, stellt Paul Hoffmann das Mathematikgenie Paul Erdös vor. Erdös war eines der größten Genies des 20 Jahrhunderts. Er arbeitete mit zahlreichen Wissenschaftlern zusammen und verfasste durchschnittlich mehr Publikationen im Jahr, als andere Mathematiker im ganzen Leben. Da Erdös sich mit sehr vielen Theoremen […]

So nutzt du das Java Keyword public

Java Keyword public

Java Programme bestehen aus Java Klassen. Und der Zugriff auf eine Java Klasse sollte nach außen immer gewährleistet sein. Was bedeutet das? Du solltest in jeder Klasse die Möglichkeit haben, ein Objekt einer anderen Klasse anzulegen. Gerade durch diese Möglichkeit macht doch das ganze Klassenkonstrukt erst Sinn.