Olá, seu código foi de grande ajuda, tive apenas que fazer um pequeno ajuste quanto ao RESTO zero, mas o restante está perfeito.
emanuelmm
Só para agradecer! Acabei de usar aqui!
rogfoz
Poderia me dar uma ajuda, como uso esse código pra validar um código ean?
A
andy11x
/** * @author Andy11x */publicclassBarras{publicstaticvoidmain(String[]args){//789100031550-(*) Qual é o Dígito verificador ?Stringvalid,barCode="789100031550";intdv=digitEAN(barCode);//Gera digito verificadorif(dv>=0){System.out.println("Digito Varificador é: "+dv);System.out.println("Codigo de Barras é: "+barCode+"-"+dv);//O Código de Barras é Válido ?valid=isValidEAN(barCode.concat(String.valueOf(dv)))==true?"Válido":"Inválido";System.out.println("Código: "+valid);}else{System.out.println("barCode Inválido !!");}}publicstaticbooleanisValidEAN(StringbarCode){intdigit=Integer.parseInt(String.valueOf(barCode.charAt(barCode.length()-1)));return((barCode.length()==8||barCode.length()==13)&&(digit==(10-(calculaEAN(barCode)%10))));}privatestaticintcalculaEAN(StringbarCode){intsum=0;for(inti=0,check=1;i<barCode.length()-1;i++){sum+=(Integer.parseInt(String.valueOf(barCode.charAt(i))))*check;check=(check==1)?3:1;}returnsum;}privatestaticintdigitEAN(StringbarCode){ints=calculaEAN(barCode),aux=s;String[]str;if(barCode.length()==12){if(s%10==0){return0;}else{while(!(aux%10==0)){aux++;}returnaux-s;}}elseif(barCode.length()==7){str=barCode.split("");aux=n(str[2])+n(str[4])+n(str[6]);s=n(str[1])+n(str[3])+n(str[5])+n(str[7]);return(10-((s*3+aux)%10));}return-1;}privatestaticintn(Stringnum){returnInteger.parseInt(num);}}
F
fbreda
giulianon:
Dae pessoal, como não achei uma classe em java pra fazer a validação de códigos de barra EAN 8 e EAN 13 resolvi faze-la.
Ola galera realmente esse método e muito interessante para quem trabalha com codigo de barra EAN13, porem tem um problema!!!
Quando digito os 13 dígitos com sequencia de números pares únicas por exemplo: 0000000000000,2222222222222 ou … ele aceita. Como resolvo este problema para ele não aceitar?
Obrigado.
C
cleitonti
conseguiu man? todos exemplos que achei na internet sempre tem uma falha.