Advertisement
jmccasusi

creditCarda

Apr 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.81 KB | None | 0 0
  1. private static boolean creditCardInput(String cardInput)
  2.     {
  3.         boolean value = false;
  4.         //credit card processing logic
  5.         if(cardInput.length() == 16)
  6.         {
  7.             int s1 = 0, s2 = 0;
  8.             String reverse = new StringBuffer(cardInput).reverse().toString();
  9.             for(int i = 0 ;i < reverse.length();i++){
  10.                 int digit = Character.digit(reverse.charAt(i), 10);
  11.                 if(i % 2 == 0){//this is for odd digits, they are 1-indexed in the algorithm
  12.                     s1 += digit;
  13.                 }else{//add 2 * digit for 0-4, add 2 * digit - 9 for 5-9
  14.                     s2 += 2 * digit;
  15.                     if(digit >= 5){
  16.                         s2 -= 9;
  17.                     }
  18.                 }
  19.             }
  20.            value = ((s1 + s2) % 10 == 0);
  21.         }
  22.         else
  23.         {
  24.             value = false;
  25.         }
  26.        
  27.         return value;
  28.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement