Question: Provide java algorithm ,program and flowcharts /* (Financial: credit card number validation) Credit card numbers follow certain patterns. * A credit card number must have

Provide java algorithm ,program and flowcharts

/* (Financial: credit card number validation) Credit card numbers follow certain patterns.
* A credit card number must have between 13 and 16 digits. It must start with:
*
* 4 for Visa cards
* 5 for Master cards
* 37 for American Express cards
* 6 for Discover cards
*
* In 1954, Hans Luhn of IBM proposed an algorithm for validating credit card
* numbers. The algorithm is useful to determine whether a card number is entered
* correctly or whether a credit card is scanned correctly by a scanner. Credit card
* numbers are generated following this validity check, commonly known as the
* Luhn check or the Mod 10 check, which can be described as follows (for illustration,
* consider the card number 4388576018402626):
*
* 1. Double every second digit from right to left. If doubling of a digit results in a
* two-digit number, add up the two digits to get a single-digit number.
*
* 2. Now add all single-digit numbers from Step 1.
* 4 + 4 + 8 + 2 + 3 + 1 + 7 + 8 = 37
*
* 3. Add all digits in the odd places from right to left in the card number.
* 6 + 6 + 0 + 8 + 0 + 7 + 8 + 3 = 38
*
* 4. Sum the results from Step 2 and Step 3.
* 37 + 38 = 75
*
* 5. If the result from Step 4 is divisible by 10, the card number is valid; otherwise,
* it is invalid. For example, the number 4388576018402626 is invalid, but the
* number 4388576018410707 is valid.
*
* Write a program that prompts the user to enter a credit card number as a long
* integer. Display whether the number is valid or invalid. Design your program to
* use the following methods:
*
* /** Return true if the card number is valid
* public static boolean isValid(long number)
*
* /** Get the result from Step 2 */
/* public static int sumOfDoubleEvenPlace(long number)
*
* /** Return this number if it is a single digit, otherwise,
* * return the sum of the two digits */
/* public static int getDigit(int number)
*
* /** Return sum of odd-place digits in number */
/* public static int sumOfOddPlace(long number)
*
* /** Return true if the digit d is a prefix for number */
/* public static boolean prefixMatched(long number, int d)
*
* /** Return the number of digits in d */
/* public static int getSize(long d)
*
* /** Return the first k number of digits from number. If the
* * number of digits in number is less than k, return number. */
/* public static long getPrefix(long number, int k)
*/

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!