Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

C++ Database Development

Authors: Al Stevens

1st Edition

1558283579, 978-1558283572

Students also viewed these Databases questions

Question

What advice would you provide to Jennifer?

Answered: 1 week ago

Question

What are the issues of concern for each of the affected parties?

Answered: 1 week ago