3
I don’t know anything about Java. I would like to know how to get the return value of the variable dv
that is within the method Base10()
and use it on main
. Could someone help me?
public class Boleto {
public static void main(String[] args) {
String codBarras = "23793.44308.90010.000041.33001.250001.3.52830000008091";
}
public class Barra{
public int Base10(String num){
//variáveis de instancia
int soma = 0;
int resto = 0;
int dv = 0;
String[] numeros = new String[num.length()+1];
int multiplicador = 2;
String aux;
String aux2;
String aux3;
for (int i = num.length(); i > 0; i--) {
//Multiplica da direita pra esquerda, alternando os algarismos 2 e 1
if(multiplicador%2 == 0){
// pega cada numero isoladamente
numeros[i] = String.valueOf(Integer.valueOf(num.substring(i-1,i))*2);
multiplicador = 1;
}else{
numeros[i] = String.valueOf(Integer.valueOf(num.substring(i-1,i))*1);
multiplicador = 2;
}
}
// Realiza a soma dos campos de acordo com a regra
for(int i = (numeros.length-1); i > 0; i--){
aux = String.valueOf(Integer.valueOf(numeros[i]));
if(aux.length()>1){
aux2 = aux.substring(0,aux.length()-1);
aux3 = aux.substring(aux.length()-1,aux.length());
numeros[i] = String.valueOf(Integer.valueOf(aux2) + Integer.valueOf(aux3));
}
else{
numeros[i] = aux;
}
}
//Realiza a soma de todos os elementos do array e calcula o digito verificador
//na base 10 de acordo com a regra.
for(int i = numeros.length; i > 0 ; i--){
if(numeros[i-1] != null){
soma += Integer.valueOf(numeros[i-1]);
}
}
resto = soma%10;
dv = 10 - resto;
//retorna o digito verificador
return dv;
}
}
}
I saw that you edited the question. Because of this, I edited the my answer also.
– Victor Stafusa