I am working on the following java program. I can get the program to run but need it to keep looping until the password format is correct.
I am working on the following java program. I can get the program to run but need it to keep looping until the password format is correct.
//Program to validate password. Must contain at least two
//uppercase letters, at least three lowercase letters
//and at least one digit. Prompts user until valid password is entered
//Message indicts if password valid, message if not valid
import java.util.*;
public class ValidatePassword {
public static void main(String[] args)
{
String pString;
int passwordLength;
final int PasswordDigit = 1;
final int PasswordLowerLetter = 3;
final int PasswordUpperLetter = 2;
int upperLetterCount = 0;
int lowerLetterCount = 0;
int digitCount = 0;
Scanner inputDevice = new Scanner(System.in);
System.out.print("Enter a password" );
pString = inputDevice.nextLine();
passwordLength = pString.length();
for(int i=0;i<passwordLength;i++)
{
char ch =pString.charAt(i);
if(Character.isUpperCase(ch))
upperLetterCount++;
else
if(Character.isLowerCase(ch))
lowerLetterCount++;
else
if(Character.isDigit(ch))
digitCount++;
}
if(upperLetterCount >= PasswordUpperLetter && lowerLetterCount>=PasswordLowerLetter && digitCount >=PasswordDigit)
System.out.println("Valid Password");
else
{
System.out.println("Invalid Password" + '\n'
+ "Must be 2 uppercase letters, 3 lowercase letters and 1 digit");
if(upperLetterCount < PasswordUpperLetter && lowerLetterCount < PasswordLowerLetter && digitCount < PasswordDigit);
}
}
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps