Question: I NEED HELP PUTTING THE PROGRAM WITH METHODS AND CONSTRUCTOR. public class CreditCardValidator { /** * @param number * @return */ public static boolean isValid(long
I NEED HELP PUTTING THE PROGRAM WITH METHODS AND CONSTRUCTOR.
public class CreditCardValidator { /** * @param number * @return */ public static boolean isValid(long number) { int total = sumOfDoubleEvenPlace(number) + sumOfOddPlace(number); if ((total % 10 == 0) && (prefixMatched(number, 1) == true) && (getSize(number) >= 13) && (getSize(number) <= 16)) { return true; } else { return false; } } /** * @param number * @return */ public static int getDigit(int number) { if (number <= 9) { return number; } else { int firstDigit = number % 10; int secondDigit = (int) (number / 10); return firstDigit + secondDigit; } } /** * @param number * @return */ public static int sumOfOddPlace(long number) { int result = 0; while (number > 0) { result += (int) (number % 10); number = number / 100; } return result; } /** * @param number * @return */ public static int sumOfDoubleEvenPlace(long number) { int result = 0; long temp = 0; while (number > 0) { temp = number % 100; result += getDigit((int) (temp / 10) * 2); number = number / 100; } return result; } /** * @param number * @param d * @return */ public static boolean prefixMatched(long number, int d) { if ((getPrefix(number, d) == 4) || (getPrefix(number, d) == 5) || (getPrefix(number, d) == 3)) { if (getPrefix(number, d) == 3) { System.out.println(" Visa Card "); } else if (getPrefix(number, d) == 5) { System.out.println(" Master Card "); } else if (getPrefix(number, d) == 3) { System.out.println(" American Express Card "); } return true; } else { return false; } } /** * @param d * @return */ public static int getSize(long d) { int count = 0; while (d > 0) { d = d / 10; count++; } return count; } /** * @param number * @param k * @return */ public static long getPrefix(long number, int k) { if (getSize(number) < k) { return number; } else { int size = (int) getSize(number); for (int i = 0; i < (size - k); i++) { number = number / 10; } return number; } } /** * @param args */ public static void main(String[] args) { long input = 4388576018410707l; if (isValid(input) == true) { System.out.println(" " + input + " is Valid. "); } else { System.out.println(" " + input + " is Invalid. "); } input = 4388576018402626l; if (isValid(input) == true) { System.out.println(" " + input + " is Valid. "); } else { System.out.println(" " + input + " is Invalid. "); } } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
