desislava_topuzakova

04. Password Validator

Oct 8th, 2022
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.28 KB | None | 0 0
  1. package Methods;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class PasswordValidator_04 {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.         String password = scanner.nextLine();
  9.         //1. дължина -> Password must be between 6 and 10 characters
  10.         boolean isPasswordLengthValid = isValidLength(password);
  11.         //true -> валидна дължина
  12.         //false -> невалидна дължина
  13.         if (!isPasswordLengthValid) {
  14.             System.out.println("Password must be between 6 and 10 characters");
  15.         }
  16.  
  17.         //2. съдържание
  18.         boolean isPasswordContentValid = isValidContent(password);
  19.         if (!isPasswordContentValid) {
  20.             System.out.println("Password must consist only of letters and digits");
  21.         }
  22.  
  23.         //3. брой цифри
  24.         boolean isPasswordCountDigitsValid = isValidCountDigits(password);
  25.         //true -> бр. цифри >= 2
  26.         //false -> бр. цифри < 2
  27.         if (!isPasswordCountDigitsValid) {
  28.             System.out.println("Password must have at least 2 digits");
  29.         }
  30.  
  31.         if (isPasswordLengthValid && isPasswordContentValid && isPasswordCountDigitsValid) {
  32.             System.out.println("Password is valid");
  33.         }
  34.  
  35.     }
  36.  
  37.     //метод за валидиране на дължината
  38.     //true -> ако дължината е валидна
  39.     //false -> ако дължината не е валидна
  40.     private static boolean isValidLength (String password) {
  41.         //валидна дължина: 6 - 10 вкл
  42.         if (password.length() >= 6 && password.length() <= 10) {
  43.             return true;
  44.         }
  45.         //невалидна дължина: Password must be between 6 and 10 characters
  46.         else {
  47.             return false;
  48.         }
  49.         //return password.length() >= 6 && password.length() <= 10;
  50.     }
  51.  
  52.     //метод за валидиране на съдържанието
  53.     //true -> ако съдържанието е валидно
  54.     //false -> ако съдържанието не е валидно
  55.     private static boolean isValidContent (String password) {
  56.         //валидно съдържание: букви или цифри
  57.         //невалидно съдържание: нещо различно от буква или цифра
  58.         for (char symbol : password.toCharArray()) {
  59.             if (!Character.isLetterOrDigit(symbol)) {
  60.                 return false;
  61.             }
  62.         }
  63.         //обходила всички символи
  64.         return true;
  65.     }
  66.  
  67.     //метод, който валидира брой на цифрите
  68.     //true -> бр. цифрите >= 2
  69.     //false -> бр. цифрите < 2
  70.     private static boolean isValidCountDigits (String password) {
  71.         int countDigits = 0; //брой на цифрите
  72.         //Pesho123
  73.         for (char symbol : password.toCharArray()) {
  74.             if (Character.isDigit(symbol)) {
  75.                 countDigits++;
  76.             }
  77.         }
  78.         //брой цифрите
  79.         /*if (countDigits >= 2) {
  80.             return true;
  81.         } else {
  82.             return false;
  83.         }*/
  84.  
  85.         return countDigits >= 2;
  86.  
  87.     }
  88. }
Add Comment
Please, Sign In to add comment