import java.util.Scanner; public class Passwort_Check1 { public static boolean checkLaenge(String passwort) { return passwort.length() >= 20; } public static boolean checkKleinBuchstaben(String passwort) { return passwort.matches(".*[a-z].*[a-z].*[a-z].*"); } public static boolean checkGrossBuchstaben(String passwort) { return passwort.matches(".*[A-Z].*[A-Z].*[A-Z].*"); } public static boolean checkZiffer(String passwort) { return passwort.matches(".*[0-9].*[0-9].*[0-9].*"); } public static boolean checkSonderZeichen(String passwort) { return passwort.matches(".*[!\\?\\$%&#@*+\\-=_.].*[!\\?\\$%&#@*+\\-=_.].*[!\\?\\$%&#@*+\\-=_.].*"); } public static void main(String[] args) { String passwort = null; boolean check = true; Scanner in = new Scanner(System.in); System.out.println("Geben Sie ein Passwort zur überprüfung ein:"); passwort = in.nextLine(); do { if (!checkLaenge(passwort)) { System.out.println("Passwort ist zu kurz!"); } else if (!checkKleinBuchstaben(passwort)) { System.out.println("Es fehlen Kleinbuchstaben!"); } else if (!checkGrossBuchstaben(passwort)) { System.out.println("Es fehlen Großbuchstaben!"); } else if (!checkZiffer(passwort)) { System.out.println("Es fehlen Ziffern!"); } else if (!checkSonderZeichen(passwort)) { System.out.println("Es fehlen Sonderzeichen!"); } else { System.out.println("Passwort ist sicher."); check = true; break; // Optional, da Schleife sonst sowieso endet } if (check == false) { System.out.println("Geben Sie ein verbessertes Passwort zur überprüfung ein:"); passwort = in.nextLine(); } } while (check == false); System.out.println("...und Tschüss"); in.close(); } }