/ Assignment / assignment_21.java
assignment_21.java
 1  /*
 2   * Write a program to check whether a given password is strong
 3   * Conditions :
 4   * 1. At least 8 characters 
 5   * 2. Contains atleast one Uppercase Letter 
 6   * 3. Contains at least one number 
 7   * 4. Contains at least one special character 
 8   */ 
 9  
10  import java.util.Scanner;
11  
12  public class assignment_21 {
13    public static boolean pwd_checker(String pwd) {
14      if(pwd.length() < 8) {
15        return false;
16      }
17  
18      boolean hasUpper = false;
19      boolean hasDigit = false;
20      boolean hasSpecialChar = false;
21  
22      for (char ch : pwd.toCharArray()) {
23        if(Character.isUpperCase(ch)) {
24          hasUpper = true;
25        }
26        else if (Character.isDigit(ch)) {
27          hasDigit = true;
28        }
29        else if (!Character.isLetterOrDigit(ch)) {
30          hasSpecialChar = true;
31        }
32      }
33  
34      return hasUpper && hasDigit && hasSpecialChar;
35    }
36    public static void main(String[] args) {
37      Scanner sc = new Scanner(System.in);
38  
39      System.out.println("Enter the password: ");
40      String pwd = sc.nextLine();
41  
42      if(pwd_checker(pwd)) {
43        System.out.println("Strong Password");
44      }
45      else {
46        System.out.println("Weak Password");
47      }
48    }
49  }