plamenavylcheva

Validate Password

Jul 12th, 2023
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. package ExerciseAgain;
  2.  
  3. import java.util.Scanner;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6.  
  7. public class ValidatePassword {
  8. private static int getLength(String input) {
  9. int length = 0;
  10. for (char letter : input.toCharArray()) {
  11. if (Character.isLetterOrDigit(letter)) {
  12. length++;
  13. }
  14. }
  15. return length;
  16. }
  17.  
  18. public static void main(String[] args) {
  19. Scanner scanner = new Scanner(System.in);
  20. int number = Integer.parseInt(scanner.nextLine());
  21. String regex = "_.*[A-Z][A-Z0-9a-z]*[A-Z]_.*";
  22. Pattern pattern = Pattern.compile(regex);
  23. for (int i = 1; i <= number; i++) {
  24. String input = scanner.nextLine();
  25. int length = getLength(input);
  26. Matcher matcher = pattern.matcher(input);
  27. if (matcher.find() && length>=6) {
  28. String email = matcher.group();
  29. String name = email.replaceAll("_", "").replaceAll("\\.", "");
  30. String validPass = getGroup(name);
  31. System.out.println("Group: " + validPass);
  32.  
  33. } else if (!matcher.find()) {
  34. System.out.println("Invalid pass!");
  35. }
  36. }
  37. }
  38.  
  39. private static String getGroup(String name) {
  40. StringBuilder sb = new StringBuilder();
  41. int digit = 0;
  42. for (char letter : name.toCharArray()) {
  43. if (Character.isDigit(letter)) {
  44. digit++;
  45. sb.append(letter);
  46. }
  47. }
  48. if (digit == 0) {
  49. return "default";
  50. }
  51. String group = sb.toString();
  52. return group;
  53. }
  54.  
  55. }
  56.  
Advertisement
Add Comment
Please, Sign In to add comment