All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.arch.util.br.Modulo11 Maven / Gradle / Ivy

There is a newer version: 18.12.0
Show newest version
package com.arch.util.br;

/**
 * Created by wagner.araujo on 2/10/17.
 */
public class Modulo11 {

    public static String calculaDigitoVerificador(String numero, Integer pesoInicial, Integer pesoFinal, Integer quantidadeDigitos) { // função
        long soma = 0L;
        int multiplicador = pesoInicial;
        for (int i = numero.length() - 1; i >= 0; --i) {
            long num = (long) Character.getNumericValue(numero.charAt(i));
            num *= multiplicador;
            multiplicador = (multiplicador < pesoFinal) ? multiplicador + 1 : pesoInicial;
            soma += num;
        }
        long digito = (11 - (((soma % 11) == 1) ? 0 : (soma % 11))) % 11;
        String dac = String.valueOf(digito);
        if (quantidadeDigitos > 1) {
            return dac.concat(calculaDigitoVerificador(numero.concat(dac), pesoInicial, pesoFinal, quantidadeDigitos - 1));
        } else {
            return dac;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy