Reference no: EM132173770
Using the program Eclipse IDE for Java Developers,Version: Neon.2 Release (4.6.2)
Problem Description: Some websites impose certain rules for passwords. Suppose password rules are as follows: 1. A password must have at least eight characters. 2. A password consists of only letters and digits. 3. A password must contain at least two digits.
Write a program with class name CheckPassword that prompts the user to enter a password and displays Valid password if the rules are followed or Invalid password otherwise.
Create three methods (headers given below) to check the three rules. public static boolean AtLeast8(String p) public static boolean LetterOrDigit(String p) public static boolean AtLeast2Digits(String p)
For example, method AtLeast8 will return true if there are at least eight characters in the password otherwise it will return false.
Here are four sample runs:
Sample 1: Enter your password: My password18 Invalid password
Sample 2: Enter your password: pass18 Invalid password Sample
3: Enter your password: password Invalid password Sample
4: Enter your password: password18 Valid password
You can use the following steps in your code: System.out.print("Enter your password: ");
1. Store the user entry in String variable named password using nextLine() method.
2. Create three boolean variables isAtLeast8, isLetterDigit, and isAtLeast2Digits and assign the output of the corresponding methods to these boolean variables. For example, boolean isAtLeast8 = AtLeast8(password);
3. If each boolean variable is true then display Valid password otherwise display Invalid password. //Method AtLeast8
4. Create a method AtLeast8 outside the main method with the header provided in the problem description. The password is passed to the string variable p in this method. Inside the method do the following.
i) If the length of p is less than 8 then return false, otherwise return true. //Method LetterOrDigit
5. Create a method LetterOrDigit outside the main method with the header provided in the problem description. The password is passed to the string variable p in this method. Inside the method do the followings.
i) Create a loop that checks whether each character in p is a letter or a digit. To check this use the in-built methods Character.isLetterOrDigit(p.charAt(index)). The method isLetterOrDigit returns true if p.charAt(index) is a letter or digit. See Chapter 4 Table 4.6
ii) If a character is not found to be a letter or digit then return false inside the loop, otherwise return true outside the loop. //Method AtLeast2Digits
6. Create a method AtLeast2Digits outside the main method with the header provided in the problem description. The password is passed to the string variable p in this method. Inside the method do the followings.
i) Create an integer variable count and assign zero to it.
ii) Create a loop that counts the number of digits in p. The in-built method Character.isDigit(p.charAt(index)) returns true if p.charAt(index) is a digit. Increase count by one when a digit is found.
iii) If the count is at least 2 then return true inside the loop, otherwise return false outside the loop.