Question: import java.util.Scanner; public class PasswordClient { public static void main(String args[]) { String input=; Scanner read=new Scanner(System.in); System.out.println(Password.passwordCriteria); while(true) { //reading user input System.out.println(Enter password
import java.util.Scanner;
public class PasswordClient {
public static void main(String args[]) { String input=""; Scanner read=new Scanner(System.in); System.out.println(Password.passwordCriteria); while(true) { //reading user input System.out.println("Enter password to test or quit to end "); input=read.nextLine(); //break out of loop if user enters "quit" if(input.equals("quit")) { break; } System.out.println(Password.validate(input)); } }
}
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
public class Password
{
static final String passwordCriteria="Must contain a minimum of 8 characters. Must not contain spaces. Must contain at least one upper case letter. Must contain at least one lower case letter. Must contain at least one number or special character.";
public static String validate(String givenPassword) { //initially all variables are zero int upperCase=0; int lowerCase=0; int nums=0; int specialCount=0; //initially the password is invalid String output="Invalid Password"; //if any criteria is violated ,attach the its message with the ouput if(givenPassword.length()<8) { output=output+" Must contain a minimum of 8 characters."; } if(givenPassword.contains(" ")) { output=output+" Must not contain spaces."; } //iterate through every character of givenPassword and increment the respective variables //use those variables to check further criteria of password for ( int k = 0; k< givenPassword.length() ; k++ ) { if (Character.isUpperCase(givenPassword.charAt(k))) { upperCase++; } else if (Character.isLowerCase(givenPassword.charAt(k))) { lowerCase++; } else if (Character.isDigit(givenPassword.charAt(k))) { nums++;} else { specialCount++; } } if(upperCase<1) { output=output+" Must contain at least one upper case letter."; } if(lowerCase<1 ) { output=output+" must contain at least one lower case letter."; } if(nums<1 && specialcount<1) number or special character."; if(output.equals("invalid password"))>
}
can you implement better javadocs and add some more javadocs also?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
