Bom dia !!!
Pessoal preciso da ajuda de vocês
Estou fazendo uma classe para converter a formatação numerica de 44 caracteres para codigo de barras
porem esta dando o seguinte erro java.lang.NumberFormatException: For input string: “”
na linha onde se enconta o seguinte Codigo numy = Integer.parseInt(sCodigoNumerico.substring(l, 1)) - 1;
bom sei que o problema parece obvio que não se pode coverter String vazia , porem se coloco para imprimir para mim parece que está correto
Bom segue a classe Abaixo se alguem poder me ajudar fico grato
/**
Metodo para, Conveter Caracter para Codigo de Barras <p>
1 Argumentos <p>
1º do tipo String <p>
Exemplo de Uso = Util.CodigoDeBarras("43795764000012345600023456789789432567342567"); <p>
*/
public String CodigoDeBarras(String sCodigoNumerico)
{
//limpa o campo 1º
//sCodigoNumerico = this.StrTran(sCodigoNumerico,"#");
//transforma o código de barras em caracteres interpretáveis pelo VIPP
int i, l, wktam, tamanho, x, y, numx, numy;
String codbarra, compxerox, compxerox1, compxerox2, binxer;
String[] codxerox = new String[10];
codxerox[0] = "10001";
codxerox[1] = "01001";
codxerox[2] = "11000";
codxerox[3] = "00101";
codxerox[4] = "10100";
codxerox[5] = "01100";
codxerox[6] = "00011";
codxerox[7] = "10010";
codxerox[8] = "01010";
codxerox[9] = "00110";
sCodigoNumerico = sCodigoNumerico.trim();
tamanho = sCodigoNumerico.length();
wktam = tamanho % 2;
if (wktam != 0){
return "1";
}
codbarra = "<";
l = -1;
for (i = 1; i <= tamanho/2; i++){
l++;
System.out.println("1 Contado "+l);
System.out.println("1 Dados "+sCodigoNumerico.substring(l, 1));
numx = Integer.parseInt(sCodigoNumerico.substring(l, 1)) - 1;
System.out.println("1 numx "+numx);
if (numx == -1){
numx = 9;
}
System.out.println("2 Contado "+l);
System.out.println("2 Dados "+sCodigoNumerico.substring(l, 1));
l++;
numy = Integer.parseInt(sCodigoNumerico.substring(l, 1)) - 1;
System.out.println("2 numx "+numy);
if (numy == -1){
numy = 9;
}
compxerox1 = codxerox[numx];
compxerox2 = codxerox[numy];
compxerox = compxerox1.substring(0, 1);
compxerox += compxerox2.substring(0, 1);
compxerox += compxerox1.substring(1, 1);
compxerox += compxerox2.substring(1, 1);
compxerox += compxerox1.substring(2, 1);
compxerox += compxerox2.substring(2, 1);
compxerox += compxerox1.substring(3, 1);
compxerox += compxerox2.substring(3, 1);
compxerox += compxerox1.substring(4, 1);
compxerox += compxerox2.substring(4, 1);
y = 0;
for (x = 1; x <= 5; x++){
binxer = compxerox.substring(y, 2);
if (binxer.equals("01")){
codbarra+= "N";
}else if(binxer.equals("11")){
codbarra += "W";
}else if (binxer.equals("00")){
codbarra += "n";
}else if (binxer.equals("10")){
codbarra += "w";
}
y += 2;
}//for
}//for
codbarra += ">";
return codbarra;
}