В 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 (Номер карточки + ":" + действительны); 
    ) 

  ) 


Top 5 Бесплатные Сетевые средства

Закладка на Luhn Алгоритм проверки данных в Java

Последние сообщения блога


Английский Английский Немецкий Немецкий Испанский Испанский Французский Французский Итальянский Итальянский Португальский Португальский Русский Русский Голландский Голландский
Греческая Греческая Хинди Хинди Японский Японский Корейский Корейский Китайский Китайский Китайский (упрощенный) Китайский (упрощенный) Арабский Арабский

Copyright 2009 Tech-FAQ. Все права защищены. Политика конфиденциальности.