Die Luhn Prüfziffer-Algorithmus in Java
//------------------------------------------------ ---------
/ / Die Kontrollen für gültige Kreditkarte Zahl mit Luhn-Algorithmus
//------------------------------------------------ ---------
öffentlichen abstrakte Klasse LuhnCheck (
//--------------------------------
/ / Filter aus nicht-stelligen Zeichen
//--------------------------------
private static String getDigitsOnly (String s) (
StringBuffer digitsOnly = new StringBuffer ();
char c;
for (int i = 0; i <s.length (); i + +) (
c = s.charAt (i);
if (Character.isDigit (c)) (
digitsOnly.append (c);
)
)
Rückkehr digitsOnly.toString ();
)
//-------------------
/ / Perform Luhn Check
//-------------------
public static boolean isValid (String cardNumber) (
String digitsOnly = getDigitsOnly (cardNumber);
int sum = 0;
int digit = 0;
Summand int = 0;
boolean timesTwo = false;
for (int i = digitsOnly.length () - 1, i> = 0; i -) (
Stelle = Integer.parseInt (digitsOnly.substring (i, i + 1));
if (timesTwo) (
Summand = digit * 2;
if (Summand> 9) (
Summand -= 9;
)
)
else (
Summand = digit;
)
Summe + = Summand;
timesTwo =! timesTwo;
)
int-Modul = Summe% 10;
Rückkehr-Modul == 0;
)
//-----
/ / Test
//-----
public static void main (String [] args) (
String cardNumber = "4408 0412 3456 7890";
boolean gültig = LuhnCheck.isValid (cardNumber);
System.out.println (cardNumber + ":" + gültig);
cardNumber = "4408 0412 3456 7893";
gültig = LuhnCheck.isValid (cardNumber);
System.out.println (cardNumber + ":" + gültig);
cardNumber = "4417 1234 5678 9112";
gültig = LuhnCheck.isValid (cardNumber);
System.out.println (cardNumber + ":" + gültig);
cardNumber = "4417 1234 5678 9113";
gültig = LuhnCheck.isValid (cardNumber);
System.out.println (cardNumber + ":" + gültig);
)
)
|
Bookmark die Luhn Check Data Algorithm in Java

