How To Check Credit Card Or Debit Card Number In Java

0
28
• 1
•
•
•
•
•
•
•
•
•
1
Share

The following checksum formula is widely used by banks and credit card companies to validate legal account numbers:
d0 + f(d1) + d2 + f(d3) + d4 + f(d5) + d6 + … = 0 (mod 10) The di are the decimal digits of the account number and f(d) is the sum of the decimal digits of 2d (for example, f(7) = 5 because 2 * 7 = 14 and 1 + 4 = 5). For example, 17327 is valid because 1 + 5 + 3 + 4 + 7 = 20, which is a multiple of 10. Implement the function f and write a program to take a 10-digit integer as a command-line argument and print a valid 11-digit number with the given integer as its first
10 digits and the checksum as the last digit.

```public class AccountNumberchecker {

/**
* @param args
*/
public static void main(String[] args) {
String acc_no="17327";
//take the card number
int sum=0;
//initialize sum as zero
int a=acc_no.length();
//check out the length
for(int j=0;j<a;j++ )
{
if(j%2!=0)
// this is just to build the logic as only alternate postion's element will be processed f(d1),f(d3)....
{
sum=sum calculatesum((acc_no.charAt(j)));
}
else
{
//alternate numbers will be added as it is
sum=sum (int)(acc_no.charAt(j)-48);
}
}
//Checking the card status
System.out.println("The card no is " Checksum(sum));
}
private static int calculatesum(char a)
{
int b1=a-48;
//Convert the character to integer
int b=b1*2;
//Multiplied by 2 as per logic
if (b>10)
{
//if greater than zero then add two digit
return implfunc(b);
}
else
{
//if it is not greater than zero then return as it is
return b;
}
}

private static int implfunc(int b) {
//Add the two digits of a two digit number
return ((b%10)+ (b/10));
}
private static String Checksum(int a)
{
//As per logic the mod operator will be implemented on
//the summation
if (a%10==0)
return "Valid";
else
return "invalid";

}

}
```

We are done!!

Don't miss out!

Receive top technical news, lesson ideas, travel tips and more!

Give it a try. You can unsubscribe at any time.