Suppose a website impose the following rules for passwords 1

Suppose a website impose the following rules for passwords.

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 that prompts the user to enter a password. If the user enters a invalid password, the program needs to tell the user why it is invalid and ask the user to enter another password. The program should stop only when the user enters a valid password.

Here is one sample run to check these 4 passwords in order

Enter a new password: My password18

Invalid: Only letters and digits

My question what do i write to make the program state that it is invalid and say Only letters and digits. When i enter the password My password18, theres a space in there.

Ive written the program so far and it works, its just missing that part. Its in Java Language

Solution

When you are enter the space in your password the program is missing it because you are not validating only letter and digit. We have to just write a logic to accept only letters and digits no other special character. I am writing the logic function for the problem.

public static boolean isValid(String password) {
if (password.length() < 8) {   
return false;
} else {
char c;
int count = 1;   
for (int i = 0; i < password.length(); i++) {
c = password.charAt(i);
if (!Character.isLetterOrDigit(c)) {
return false;
} else if (Character.isDigit(c)) {
count++;
if (count < 2) {   
return false;
}   
}
}
}
return true;
}
   

Suppose a website impose the following rules for passwords. 1. A password must have at least eight characters. 2. A password consists of only letters and digits

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site