I can't seem to figure this out.
I want it to do so if the user either types something that doesn't equal to 12 characters or else, it loops until what the user types matches the requirements of the if statement that returns true.
setter:
//boolean returning method for validation
public boolean setSSN(String ssN) {
if (ssN.length() != 12) {
return false;
}
if(Character.isDigit(ssN.charAt(0)) && Character.isDigit(ssN.charAt(1)) &&
Character.isDigit(ssN.charAt(2)) && ssN.charAt(3) == '-' &&
Character.isDigit(ssN.charAt(4)) && Character.isDigit(ssN.charAt(5)) &&
Character.isDigit(ssN.charAt(6)) && ssN.charAt(7) == '-' &&
Character.isDigit(ssN.charAt(8)) && Character.isDigit(ssN.charAt(9)) &&
Character.isDigit(ssN.charAt(10)) && Character.isDigit(ssN.charAt(11))) {
ssNumber = ssN;
return true;
}
else {
System.out.println("Error message") ;
return false;
}
}
main:
System.out.println("What is your social security number using this format XXX-XXX-XXXX: ");
do {
System.out.print("SSN: ");
String input1 = in.nextLine();
employee1.setSSN(input1);
System.out.println();
System.out.println(employee1.toString());
System.out.println();
} while(!employee1.setSSN(true));
Let me know if there's something missing. I just started programming 2 two terms after programming 1 and I am a bit rusted with everything.
Aucun commentaire:
Enregistrer un commentaire