Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Otávio 21

java.lang.NumberFormatException: For input string: "nao"

Recommended Posts

Boa noite pessoal,

 

 

Estou aprendendo Java agora na faculdade, e no meu exercício esta acontecendo um erro que não estou conseguindo resolve-lo. Alguém poderia me ajudar ?

Irei postar o código, e logo abaixo o erro.

 

public void concatenaArquivo_e_Memoria() throws FileNotFoundException{
        if (registrosForaDeOrdem){
            Ordenacao ordena = new Ordenacao(this.memoria);
            this.memoria=ordena.ordenar();
        }
        
        ArquivoDeTexto empregado1 = new ArquivoDeTexto(localDoArquivo);
        
        this.empregados = new ArquivoDeTexto(localDoArquivo2);
        this.empregados.abrirArquivo();
        
        String registroEmpregado = "nao vazio";
        String aux[];
        int contador = 0;

        while (!("".equals(registroEmpregado)) || contador < this.memoria.length){
            
            if(registroEmpregado != null && !("".equals(registroEmpregado))){
            
                aux = registroEmpregado.split(" ");
            
                if(this.memoria[contador].getIndice() <= Integer.parseInt(aux[0])){
                    gravarEmpregado((Empregado)this.memoria[contador].getRegistro());
                    if(this.memoria[contador + 1].getIndice() == Integer.parseInt(aux[0])){
                        //this.empregados.leRegistro();
                        empregado1.leRegistro();
                    }
                }
                else {
                    //this.empregados.gravarEmpregado(registroEmpregado);
                    empregado1.gravarEmpregado(registroEmpregado);
                    registroEmpregado = empregado1.leRegistro();
                    //registroEmpregado = empregados.leRegistro();
                }
                contador++;
            }
            else
            {
                
            }
        }
        for (int i = 0; i < this.tamanho - 1; i++)
            gravarEmpregado((Empregado)this.memoria[i].getRegistro());
                
        encerrarGravacao();
    }

Erro:

Exception in thread "main" java.lang.NumberFormatException: For input string: "nao"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.parseInt(Integer.java:499)
at br.pucminas.lc3.JOAOOTAVIO.dominio.Controladora.concatenaArquivo_e_Memoria(Controladora.java:104)
at br.pucminas.lc3.JOAOOTAVIO.apresentacao.TelaDeRegistroDeEmpregado.insereDadosEmArquivoExistente(TelaDeRegistroDeEmpregado.java:88)
at br.pucminas.lc3.JOAOOTAVIO.apresentacao.TelaDeRegistroDeEmpregado.processamentoDaFolha(TelaDeRegistroDeEmpregado.java:83)
at br.pucminas.lc3.JOAOOTAVIO.principal.TESTE.main(TESTE.java:16)
Agradeço desde já,
João Otávio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara pelo o que eu vi o erro está aqui: if(this.memoria[contador].getIndice() <= Integer.parseInt(aux[0])), pois você está tentando converter uma String em inteiro. Se fosse "não1" ou que pelo menos tivesse um número na String daria certo(pelo menos na minha experiência). Acho que você estaria procurando por um length() ou talvez um size().

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.