O Luhn Check Digit Algorítimo em Java

  //------------------------------------------------ --------- 
  / / Controlos de cartão de crédito válido número usando Luhn algoritmo 
  //------------------------------------------------ --------- 

  público classe abstracta LuhnCheck ( 

    //-------------------------------- 
    / / Filtre caracteres não-dígito 
    //-------------------------------- 

    privado estático getDigitsOnly String (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); 
        ) 
      ) 
      retorno digitsOnly.toString (); 
    ) 

    //------------------- 
    / / Executar Luhn check 
    //------------------- 

    pública estático boolean isValid (String cardNumber) ( 
      Seqüência digitsOnly = getDigitsOnly (cardNumber); 
      int sum = 0; 
      dígito int = 0; 
      addend int = 0; 
      boolean timesTwo = false; 

      for (int i = digitsOnly.length () - 1, i> = 0; i -) ( 
        dígito = Integer.parseInt (digitsOnly.substring (i, i + 1)); 
        if (timesTwo) ( 
          addend dígito * = 2; 
          if (addend> 9) ( 
            addend -= 9; 
          ) 
        ) 
        else ( 
          addend = dígitos; 
        ) 
        soma + = addend; 
        timesTwo =! timesTwo; 
      ) 

      int modulus = soma% 10; 
      modulus retorno == 0; 

    ) 

    //----- 
    / / Teste 
    //----- 

    público estático void main (String [] args) ( 
      Seqüência cardNumber = "4408 0412 3456 7890"; 
      boolean valido = LuhnCheck.isValid (cardNumber); 
      System.out.println (cardNumber + ":" + válidos); 
      cardNumber = "4408 0412 3456 7893"; 
      válido = LuhnCheck.isValid (cardNumber); 
      System.out.println (cardNumber + ":" + válidos); 
      cardNumber = "4417 1234 5678 9112"; 
      válido = LuhnCheck.isValid (cardNumber); 
      System.out.println (cardNumber + ":" + válidos); 
      cardNumber = "4417 1234 5678 9113"; 
      válido = LuhnCheck.isValid (cardNumber); 
      System.out.println (cardNumber + ":" + válidos); 
    ) 

  ) 


Top 5 Free Networking Ferramentas

Guardar o Luhn Check Dados Algorítimo em Java

Latest Blog Posts


Inglês Inglês Alemão Alemão Espanhol Espanhol Francês Francês Italiano Italiano Português Português Russo Russo Holandês Holandês
Grego Grego Hindi Hindi Japonês Japonês Coreano Coreano Chinês Chinês Chinês (simplificado) Chinês (simplificado) Árabe Árabe

Copyright 2009 Tech-FAQ. Todos os direitos reservados. Política de Privacidade.