Como fazer ele começar do 0 (zero)? [Java]

Iniciado por Aureliex, 19 de Outubro de 2007, 00:42

tópico anterior - próximo tópico

Aureliex

Dae amigos,
Fiz um programinha que gera uns códigos de barras do tipo "Interleaved2of25" porém ele não está permitindo começar do 0 (zero).
Aí vai o código - se alguém quiser dar uma olhada e me ajudar a identificar o que está faltando hehe...
Desculpem se for um erro besta, é que sou iniciante......

Desde já obrigado.


public class GeraCodigos {
    static String total  = "";
    public static String adicionaSequenciaInter25(String adicionar) {
        total         = adicionar;
        String parte1 = "";
        String parte2 = "";
        int valor2 = 0;
        int valor1 = 0;
        if (total.length() > 9) {
            valor1 = Integer.parseInt(total.substring(total.length()-9));
            valor2 = Integer.parseInt(total.substring(0,total.length()-9));
        } else {
            valor1 = Integer.parseInt(total);
        }
        if (total.length() < 10) {
            if (valor1 == 999999999) {
                valor2++;
                total = String.valueOf(valor2)+"000000000";
            } else {
                valor1++;
                System.out.println(valor1);
                total = String.valueOf(valor1);
            }
        } else {
            if (valor1 == 999999999) {
                valor2++;
                System.out.println(valor2);
                total = String.valueOf(valor2)+"000000000";
            } else {
                valor1++;
                System.out.println(valor1);
                total = String.valueOf(valor2)+String.valueOf(valor1);
            }
        }
        return total;
    }


Aureliex

Citação de: JarbasAugusto online 19 de Outubro de 2007, 15:32
http://www.guj.com.br/java.tutorial.artigo.34.1.guj

Brother, esse foi o primeiro artigo que li sobre códigos de barras no Java... Mas não resolve meu problema. =/ Valeu mesmo assim por tentar.

alessandro_ufms

Opa, tudo bem?

Li o tutorial lá do código de barras e entendi todo o código dele. Só não entendi o que seu código faz e qual a relação dele com código de barra... mas enfim, acho que sei onde está errando:

Quando converte string para integer está perdendo os 0's no começo. Converter a string '001' para integer, ela vai se tornar simplesmente 1.