fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.Pattern;
  7.  
  8. /* Name of the class has to be "Main" only if the class is public. */
  9. class Ideone
  10. {
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. String user = "jimin";
  14. String ssn = "222-11-222";
  15. String password = "WhatAWonderfulWorldItWouldBe";
  16.  
  17. if (! isValidSSN(ssn)) {
  18. System.err.println("Invalid SSN");
  19. }
  20.  
  21. String xdSsn = getObfuscatedSSN(ssn);
  22. System.out.println(isValidSSN(ssn) + " " + xdSsn);
  23.  
  24. String xdPw = getObfuscatedPassword(password);
  25. System.out.println(password.length() + " " + xdPw + " " + xdPw.length());
  26.  
  27. System.out.printf("%12s\t%s\t%s%n", user, xdSsn, xdPw);
  28.  
  29. ssn = "12a-43-009";
  30. System.out.println(isValidSSN(ssn));
  31. ssn = "123-43-00900";
  32. System.out.println(isValidSSN(ssn));
  33.  
  34. System.out.println("--user check--");
  35. user = "blah";
  36. System.out.println(isValidUsername(user));
  37. user = "blah2";
  38. System.out.println(isValidUsername(user));
  39.  
  40. user = " ";
  41. System.out.println(isValidUsername(user));
  42. user = "bl4h";
  43. System.out.println(isValidUsername(user));
  44.  
  45. user = " me";
  46. System.out.println(isValidUsername(user));
  47.  
  48. user = "me ";
  49. System.out.println(isValidUsername(user));
  50.  
  51. user = "Jack Flash";
  52. System.out.println(isValidUsername(user));
  53.  
  54. }
  55.  
  56.  
  57. public static String getObfuscatedPassword(String pw)
  58. {
  59. Objects.requireNonNull(pw, "Null pw input");
  60. return pw.replaceAll(".", "X");
  61. }
  62.  
  63. public static String getObfuscatedSSN(String ssn)
  64. {
  65. Objects.requireNonNull(ssn, "Null ssn input");
  66.  
  67. return ssn.replaceAll("[0-9]", "X");
  68. }
  69.  
  70. public static boolean isValidSSN(String ssn)
  71. {
  72. if (ssn == null || ssn.isEmpty()) {
  73. return false;
  74. }
  75.  
  76. // ensure in the format of ###-##-###
  77. return Pattern.matches("[\\d]{3}-[\\d]{2}-[\\d]{3}", ssn);
  78. }
  79.  
  80. public static boolean isValidUsername(String name)
  81. {
  82. boolean charFound = false;
  83. boolean digitFound = false;
  84. if (name == null || name.isEmpty()) {
  85. return false;
  86. }
  87.  
  88. for (int i = 0; i < name.length(); ++i) {
  89. charFound = charFound || Character.isLetter(name.charAt(i));
  90. digitFound = digitFound || Character.isDigit(name.charAt(i));
  91. }
  92.  
  93. return charFound && ! digitFound;
  94. }
  95. }
Success #stdin #stdout 0.05s 2184192KB
stdin
Standard input is empty
stdout
true XXX-XX-XXX
28 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 28
       jimin	XXX-XX-XXX	XXXXXXXXXXXXXXXXXXXXXXXXXXXX
false
false
--user check--
true
false
false
false
true
true
true