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