Hallo, ich lerne gerade neu java und komme bei einer Aufgabe nicht weiter, ich weiß nicht wie ich das machen soll, dass der erste Buchstabe ein Großbuchstaben sein muss und ich im Passwort gleichzeitig ein Sonderzeichen erfolgt, die Aufgabe lautet im allgemeinen:
Implementieren Sie zunächst ein Programm, das untersucht, ob ein eingegebener Text einem vorgegebenen Benutzernamen entspricht.
Erweitern Sie das bestehende Programm so, dass der Benutzer zur Eingabe eines Passwortes aufgefordert wird.
Dieses Passwort wird nur akzeptiert, wenn es mind. 8 Zeichen lang ist.
Diese Anforderung legt eine Minimalanforderungen an die Sicherheit des Passwortes fest, die dem Benutzer durch die Ausgabe des Sicherheitslevels mit nur einem * angezeigt wird (Sicherheitslevel: *).
Erweitern Sie Ihr Programm um folgende Eigenschaften:
Der Benutzer soll die Option haben, den Sicherheitslevel auf level 2 oder 3 zu erhöhen (Anzeige -> Sicherheitslevel ** oder ***).
Sicherheitslevel 2 ist erreicht, wenn im Passwort ein Zeichen ein Großbuchstabe und ein Zeichen eine Zahl ist.
Sicherheitslevel 3 ist erreicht, wenn im Passwort zusätzlich das erste Zeichen ein Großbuchstabe und ein Zeichen ein Sonderzeichen ist.
Erst dann soll das Passwort vom Programm mit einer entsprechenden Ausgabe akzeptiert werden.
Mein Ansatz wäre:
public static void main(String[] args) {
Scanner eingabe = new Scanner(System.in);
System.out.println("Bitte geben sie einen Benutzernamen ein ");
String Benutzername = eingabe.next();
Scanner eingabe1 = new Scanner(System.in);
System.out.println("Bitte geben sie ein Passwort ein ");
String passwort = eingabe1.next();
String sonderzeichen = "[^!§$%&/()?=]+";
String level2 = "[A-Z1-9]+";
if(passwort.length()>=8)
{
System.out.println("Sicherheitslevel1:* ");
}else{
System.out.println("");
}
if(!passwort.matches(sonderzeichen)){
System.out.println("Sicherheitsleve3:***");
}else{
System.out.println("");
}
if(passwort.matches(level2)){
System.out.println("Sicherheitslevel2: **");
}else{
System.out.println("Großbuchstaben erfordert");
}
}
}
Implementieren Sie zunächst ein Programm, das untersucht, ob ein eingegebener Text einem vorgegebenen Benutzernamen entspricht.
Erweitern Sie das bestehende Programm so, dass der Benutzer zur Eingabe eines Passwortes aufgefordert wird.
Dieses Passwort wird nur akzeptiert, wenn es mind. 8 Zeichen lang ist.
Diese Anforderung legt eine Minimalanforderungen an die Sicherheit des Passwortes fest, die dem Benutzer durch die Ausgabe des Sicherheitslevels mit nur einem * angezeigt wird (Sicherheitslevel: *).
Erweitern Sie Ihr Programm um folgende Eigenschaften:
Der Benutzer soll die Option haben, den Sicherheitslevel auf level 2 oder 3 zu erhöhen (Anzeige -> Sicherheitslevel ** oder ***).
Sicherheitslevel 2 ist erreicht, wenn im Passwort ein Zeichen ein Großbuchstabe und ein Zeichen eine Zahl ist.
Sicherheitslevel 3 ist erreicht, wenn im Passwort zusätzlich das erste Zeichen ein Großbuchstabe und ein Zeichen ein Sonderzeichen ist.
Erst dann soll das Passwort vom Programm mit einer entsprechenden Ausgabe akzeptiert werden.
Mein Ansatz wäre:
public static void main(String[] args) {
Scanner eingabe = new Scanner(System.in);
System.out.println("Bitte geben sie einen Benutzernamen ein ");
String Benutzername = eingabe.next();
Scanner eingabe1 = new Scanner(System.in);
System.out.println("Bitte geben sie ein Passwort ein ");
String passwort = eingabe1.next();
String sonderzeichen = "[^!§$%&/()?=]+";
String level2 = "[A-Z1-9]+";
if(passwort.length()>=8)
{
System.out.println("Sicherheitslevel1:* ");
}else{
System.out.println("");
}
if(!passwort.matches(sonderzeichen)){
System.out.println("Sicherheitsleve3:***");
}else{
System.out.println("");
}
if(passwort.matches(level2)){
System.out.println("Sicherheitslevel2: **");
}else{
System.out.println("Großbuchstaben erfordert");
}
}
}