В Luhn Проверить Digit Алгоритм на Яве
//------------------------------------------------ ---------
/ / Проверка на действительной кредитной карты с использованием алгоритма Luhn
//------------------------------------------------ ---------
общественности абстрактного класса LuhnCheck (
//--------------------------------
/ / Фильтр, не из-значный символов
//--------------------------------
частных статических String getDigitsOnly (String S) (
StringBuffer digitsOnly = новый StringBuffer ();
символ C;
для (INT I = 0; I <s.length (); I + +) (
C = s.charAt (I);
если (Character.isDigit (с)) (
digitsOnly.append (с);
)
)
вернуться digitsOnly.toString ();
)
//-------------------
/ / Выполнить Luhn проверить
//-------------------
общественности статическое Булевы isValid (String Номер карточки) (
String digitsOnly = getDigitsOnly (Номер карточки);
INT сумма = 0;
INT цифра = 0;
INT addend = 0;
булево timesTwo = FALSE;
для (INT I = digitsOnly.length () - 1; I> = 0; I -) (
цифра = Integer.parseInt (digitsOnly.substring (I, I + 1));
если (timesTwo) (
addend цифра = * 2;
если (addend> 9) (
addend -= 9;
)
)
еще (
addend = цифре;
)
сумма + = addend;
timesTwo =! timesTwo;
)
INT модуль = сумме 10%;
возврата модуля == 0;
)
//-----
/ / Тест
//-----
общественности статической недействительным основных (String [] аргументы) (
Номер карточки String = "4408 0412 3456 7890";
логическое Допустимые = LuhnCheck.isValid (Номер карточки);
System.out.println (Номер карточки + ":" + действительны);
Номер карточки = "4408 0412 3456 7893";
действительный = LuhnCheck.isValid (Номер карточки);
System.out.println (Номер карточки + ":" + действительны);
Номер карточки = "4417 1234 5678 9112";
действительный = LuhnCheck.isValid (Номер карточки);
System.out.println (Номер карточки + ":" + действительны);
Номер карточки = "4417 1234 5678 9113";
действительный = LuhnCheck.isValid (Номер карточки);
System.out.println (Номер карточки + ":" + действительны);
)
)
|
Закладка на Luhn Алгоритм проверки данных в Java
Последние сообщения блога
- SourceForge против Freshmeat

