import java.util.Scanner;

public class Main
{

public static void main(String[] args) 
{
	final Scanner input = new Scanner(System.in);
	
	while (true)
	{
		System.out.print("Enter your password:");
		final String password = input.nextLine();
			
		boolean haslowercase = false;
		boolean hasuppercase = false;
		boolean hasdigit = false;
		for (int i = 0; i < password.length(); i++) {
			final Character c = password.charAt(i);
			haslowercase = haslowercase || Character.isLowerCase(c);
			hasuppercase = hasuppercase || Character.isUpperCase(c);
			hasdigit = hasdigit || Character.isDigit(c);
		}
		final boolean passwordlength = (password.length() >= 6);
	
		if (!haslowercase)
			System.out.println("Password needs to contain at least one lowercase letter");
	  	if (!hasuppercase) 
			System.out.println("Password needs to contain at least one uppercase letter");
		if (!hasdigit)
			System.out.println("Password needs to contain at least one digit");
		if (!passwordlength)
			System.out.println("Password needs to have 6 or more characters");
		if (!haslowercase || !hasuppercase || !hasdigit || !passwordlength)
			continue;
		
		System.out.print("Enter password again to verify");
		final String password2 = input.nextLine();
		
		if (password.equals(password2)) { 
	  		System.out.println("You have entered a valid password");
	  		break;
		} else {
			System.out.println("Password does not match. Start over");
			continue;
		}
	}
}

}