TizzyT

PasswordChecking2 -TizzyT

Mar 14th, 2016
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.60 KB | None | 0 0
  1. package passwordchecking;
  2. public class PasswordChecking {
  3.     public static void main(String[] args) {
  4.         java.util.Scanner Inputs;
  5.         Inputs = new java.util.Scanner(System.in);
  6.         System.out.println("Enter your password:\n" +
  7.                            " -Must be at least 8 characters\n" +
  8.                            " -One alpha character [a-z, A-Z]\n" +
  9.                            " -One numeric character [0-9]\n" +
  10.                            " -One special character\n" +
  11.                            " -Cannot contain any spaces\n" +
  12.                            " -Cannot begin with ! or ?\n" +
  13.                            " -Cannot repeat same character 3 times\n");
  14.         while (true) {
  15.             String OP = Inputs.nextLine();
  16.             StringBuilder Problems = new StringBuilder();
  17.             if (CheckBegins(OP))        Problems.append(" -Cannot begin with ! or ?\n");
  18.             if (!Check8Char(OP))        Problems.append(" -Must be at least 8 characters\n");
  19.             if (!ContainsAlpha(OP))     Problems.append(" -Must contain at least 1 letter\n");
  20.             if (!ContainsNumeric(OP))   Problems.append(" -Must contain at least 1 number\n");
  21.             if (ContainsSpaces(OP))     Problems.append(" -Cannot contain any spaces\n");
  22.             if (!ContainsSpecial(OP))   Problems.append(" -Must contain at least 1 special character\n");
  23.             if (ContainsRepitition(OP)) Problems.append(" -Cannot repeat same character 3 times\n");
  24.             if (Problems.length() == 0) {
  25.                 System.out.println("\nRe-enter your password:\n");
  26.                 String RepeatPassword = Inputs.nextLine();    
  27.                 if (CheckSame(OP, RepeatPassword)) break;
  28.                 Problems.append(" -Re-entered password miss-match\n");
  29.             }
  30.             System.out.println("\nEntered password is invalid, try again!");
  31.             System.out.println(Problems);
  32.         }
  33.         Inputs.close();
  34.         System.out.println("\nNew password accepted!");
  35.     }
  36.     public static boolean CheckBegins(String input) {
  37.         return input.startsWith("!") || input.startsWith("?");
  38.     }
  39.     public static boolean Check8Char(String input) {
  40.         return input.length() > 7;
  41.     }
  42.     public static boolean ContainsAlpha(String input) {
  43.         char[] Chars = input.toCharArray();
  44.         for (char Char : Chars)
  45.             if (Character.isLetter(Char)) return true;
  46.         return false;
  47.     }
  48.     public static boolean ContainsNumeric(String input) {
  49.         char[] Chars = input.toCharArray();
  50.         for (char Char : Chars)
  51.             if (Character.isDigit(Char)) return true;
  52.         return false;
  53.     }
  54.     public static boolean ContainsSpaces(String input) {
  55.         return input.contains(" ");
  56.     }
  57.     public static boolean ContainsSpecial(String input) {
  58.         char[] Chars = input.toCharArray();
  59.         for (char Char : Chars) {
  60.             if (Char == ' ') continue;
  61.             if (!Character.isLetter(Char) && !Character.isDigit(Char)) return true;
  62.         }
  63.         return false;
  64.     }
  65.     public static boolean ContainsRepitition(String input) {
  66.         int count = 1;
  67.         char CrntChar = input.charAt(0);
  68.         char[] Chars = input.toCharArray();
  69.         for (char Char : Chars){
  70.             if (Char == CrntChar) {
  71.                 count++;
  72.                 if (count == 3) return true;
  73.             } else {
  74.                 CrntChar = Char;
  75.                 count = 1;
  76.             }
  77.         }
  78.         return false;
  79.     }
  80.     public static boolean CheckSame(String input1, String input2) {
  81.         return input1.equals(input2);
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment