Hallo liebe Java Freunde ich bin neu im Programmieren und unsere Hausaufgabe ist es ein bisschen mit if und else zu spielen wobei wir ein "PasswortChecker" schreiben sollen.
Die Allgemeinen Bedingungen die wir beim programmieren benutzen ist das wir absolut gar nichts importieren dürfen und wenn steht es drunter, aber hier nicht. Außer eine Datei Namens Terminal.java die uns zur Verfügung gestellt wurde.
Habe diese auch benutzt um den String einzulesen der Code dafür ist folgender
Diesen dürfen wir auch nicht verändern sondern nur verwenden.
Nun zur Aufgabe:
-Benutzer muss das Passwort eingeben
Überprüfen der Kriterien
1. eine Mindestlänge von 8 Zeichen
2. mindestens einen Großbuchstaben
3. mindestens einen Kleinbuchstaben
4.darf keine Sequenz enthalten die 4 Zeichen oder mehr hat. Sequenzen sind auf einander folgende Character mit gleichbleibendem Abstand in der ASCII-Codierung, z.B.: aaaa 4567 IGECA ... Keine Sequenzen sind demzufolge z.B.: 0101 AbCd ...
5. Für jedes erfüllte Kriterium gibt es ein Sternchen
"
Die ersten drei Punkte und den letzten habe ich schon (siehe Code unten) allerdings fällt mir nicht mal ein Ansatz ein wie ich 4. lösen könnte geschweige denn verstehe ich wie ich da vorgehen muss. Vielleicht kann man mir da ein zwei Tipps geben wie ich das machen könnte
Die Allgemeinen Bedingungen die wir beim programmieren benutzen ist das wir absolut gar nichts importieren dürfen und wenn steht es drunter, aber hier nicht. Außer eine Datei Namens Terminal.java die uns zur Verfügung gestellt wurde.
Habe diese auch benutzt um den String einzulesen der Code dafür ist folgender
Java:
public static String readString () {
String line = "";
BufferedReader R = new BufferedReader(
new InputStreamReader(System.in));
try {
line = R.readLine();
}
catch (IOException e) { error1(); }
return line;
}
Diesen dürfen wir auch nicht verändern sondern nur verwenden.
Nun zur Aufgabe:
-Benutzer muss das Passwort eingeben
Überprüfen der Kriterien
1. eine Mindestlänge von 8 Zeichen
2. mindestens einen Großbuchstaben
3. mindestens einen Kleinbuchstaben
4.darf keine Sequenz enthalten die 4 Zeichen oder mehr hat. Sequenzen sind auf einander folgende Character mit gleichbleibendem Abstand in der ASCII-Codierung, z.B.: aaaa 4567 IGECA ... Keine Sequenzen sind demzufolge z.B.: 0101 AbCd ...
5. Für jedes erfüllte Kriterium gibt es ein Sternchen
"
Die ersten drei Punkte und den letzten habe ich schon (siehe Code unten) allerdings fällt mir nicht mal ein Ansatz ein wie ich 4. lösen könnte geschweige denn verstehe ich wie ich da vorgehen muss. Vielleicht kann man mir da ein zwei Tipps geben wie ich das machen könnte
Java:
public class PasswortChecker {
public static void main(String[] args) {
// Eingabe Password
System.out.print("Please enter your Password:");
String password = Terminal.readString();
System.out.println("Dein Password:" + password); //Nur für mich zur Kontrolle
//Mindestlänge
if (minL(password) == true)
System.out.println("Das Password hat die richtige Mindestlänge: Ok ");
else
System.out.println("Das Password hat die richtige Mindestlänge: Nicht Ok ");
//Kleinbuchstaben
if (kleinS(password) == true)
System.out.println("Das Password enthält Kleinbuchstaben: Ok ");
else
System.out.println("Das Password enthält Kleinbuchstaben: Nicht Ok ");
//Großbuchstaben
if (großS(password) == true)
System.out.println("Das Password enthält Großbuchstaben: Ok ");
else
System.out.println("Das Password enthält Großbuchstaben: Nicht Ok ");
//Ausgabe
System.out.print("Ihr Sicherheitslevel:");
//Sternchen
if (minL(password) == true)
System.out.print("*");
else
System.out.print("");
if (kleinS(password) == true)
System.out.print("*");
else
System.out.print("");
if (großS(password) == true)
System.out.print("*");
else
System.out.print("");
}
//Mindestlänge von 8
public static boolean minL( String password){
if(password.length() >= 8)
return true;
else
return false;
}
//Kleinschreibung
public static boolean kleinS (String password){
for (int i = 0; i < password.length() - 1; i++){
if(Character.isLowerCase(password.charAt(i)))
return true;
}
return false;
}
//Großschreibung
public static boolean großS (String password){
for (int i = 0; i < password.length() - 1; i++){
if(Character.isUpperCase(password.charAt(i)))
return true;
}
return false;
}
}