Advertisement
desislava_topuzakova

01. Valid Usernames

Mar 10th, 2023
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. package TextProcessing;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class ValidUsernames_01 {
  6. public static void main(String[] args) {
  7. Scanner scanner = new Scanner(System.in);
  8.  
  9. //1. входни данни
  10. String input = scanner.nextLine(); // "sh, too_long_username, !lleg@l ch@rs, jeffbutt"
  11. String[] usernames = input.split(", "); // ["sh", "too_long_username", "!lleg@l ch@rs", "jeffbutt"]
  12.  
  13. //2. обходя usernames -> правя проверка дали е валиден -> принтирам
  14. for (String username : usernames) {
  15. //ако username e валиден
  16. if (isValidUsername(username)) {
  17. System.out.println(username);
  18. }
  19. }
  20. }
  21. //метод, който проверява дали username е валиден
  22. //true -> ако username е валиден
  23. //false -> ако username не е валиден
  24. private static boolean isValidUsername (String username) {
  25. //1. валидна дължина
  26. // [3; 16] -> валидна
  27. if (username.length() < 3 || username.length() > 16) {
  28. //невалидна дължина -> невалиден username
  29. return false;
  30. }
  31. //дължина е [3; 16] => валидна дължина
  32.  
  33. //2. валидно съдържание -> букви, цифри, -, _
  34. //username = "Test№ser".toCharArray() -> ['T', 'e', 's', ....]
  35. for (char symbol : username.toCharArray()) {
  36. if (!Character.isLetterOrDigit(symbol) && symbol != '-' && symbol != '_') {
  37. //невалиден символ -> невалиден username
  38. return false;
  39. }
  40. }
  41. //валидно съдържание и валидна дължина
  42. return true;
  43. }
  44.  
  45.  
  46. }
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement