Alguém ajuda o pai aqui

4 respostas
B

String materia[]; // criando matr5iz para armazenar o nome das materias
materia = new String[30];

int credito []; // criando matriz para armazenar a quantidade de crédito 
     credito = new int [30];
     
     
     // fazendo a leitura do arquivo 
    try {
        // declara a variavel para ler dados do arquivo
        BufferedReader bufferLeitura;
        // abre o arquivo para leitura 
        bufferLeitura = new BufferedReader (new FileReader("materia.txt"));
        System.out.println("Arquivo foi aberto para leitura!");
        // obtem a primeira linha do arquivo
        String linhaLida = bufferLeitura.readLine();
        // enquanto a linha do arquivo nao for vazia 
        while (linhaLida != null) {
            String campos[] = linhaLida.split(";");
            
            System.out.println ( campos[0] +" " +campos[1]+"\n"); // exibe o conteudo do arquivo , apenas campos [0] e [1]
            
            materia[i]=campos[0]; // matriz [i] recebe o conteudo do campos [0]
            credito[i]=Integer.parseInt(campos[1]); // matriz [i] recebe o conteudo do campos [1]
           
            linhaLida = bufferLeitura.readLine();
            
            i++;
        }
        bufferLeitura.close();
        System.out.println ("Dados lidos. O arquivo foi fechado.");
    } catch (IOException e) {
        
        System.out.println ("Ocorreu um erro durante a abertura ou leitura do arquivo! " + e.getMessage());
    }
}

}

erro

Exception in thread “main” java.lang.NumberFormatException: For input string: "  2 "

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

at java.lang.Integer.parseInt(Integer.java:569)

at java.lang.Integer.parseInt(Integer.java:615)

at javaapplication21.Projeto.main(Projeto.java:43)

C:\Users\Braya Inacio\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1

FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)

criei dois vetores para armazenar a informação de um arquivo de txt . Da erro quando eu coloco credito[i]=Integer.parseInt(campos[1]); (o vetor credito para armazenar as informações do campos 1 )

4 Respostas

D

Remova os espaços em branco

credito[i]=Integer.parseInt(campos[1].trim());

B

Valeu cara funcionou , mas eu não intendi o que estava acontecendo .

D

Estava entrando a String " 2 " (com dois espaços em branco), o trim remove os espaços em branco do inicio e do fim de uma String ficando “2”.

O parseInt não consegue converter " 2 ", somente “2”.

B

Agora intendi , agora olhando o arquivo reparei que realmente tem espaços em branco . Muito obrigado cara, estava travado nesse parte

Criado 8 de abril de 2016
Ultima resposta 8 de abr. de 2016
Respostas 4
Participantes 2