Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Exception inesperada no format

Olá pessoal, beleza?! Entao, quando coloco o codigo abaixo pra rodar no console acusa a seguinte exception: java.util.InputMismatchException. Já revisei meu codigo algumas vezes e ainda assim nao consigo achar a razao dessa exception. Sendo que no console está imprimindo a primeira linha do .csv (Sem a formatação que eu escrevi no codigo) e logo em seguida jogando a exception.

No meu arquivo .csv tem este conteudo:

CC, 22, 33, Carlos, 210.1

CP, 11, 55, Eduardo, 301.3

CC, 22, 44, Morais, 350.5

public class TesteScanner {

    public static void main(String[] args) throws Exception{
        Scanner scanner = new Scanner(new File("Teste.csv"));

        while (scanner.hasNextLine()) {
            String linha = scanner.nextLine();
            System.out.println(linha);

            Scanner linhaScanner = new Scanner(linha);
            linhaScanner.useDelimiter(",");

            String tipoConta = linhaScanner.next();
            int agencia = linhaScanner.nextInt(); // console acusa problema nessa linha
            int numero = linhaScanner.nextInt();
            String titular = linhaScanner.next();
            double saldo = linhaScanner.nextDouble();

            String formatacao = String.format("%s | %d - %d | %s | %f %n", tipoConta, agencia, numero, titular, saldo);
            System.out.println(formatacao);

            linhaScanner.close();

//            String[] valores = linha.split(",");
//            System.out.println(valores[index]);
        }
        scanner.close();
    }

}

Agradeço ;)

2 respostas
solução!

Oi Carlos

O problema está no seu CSV:

CC, 22, 33, Carlos, 210.1

CP, 11, 55, Eduardo, 301.3

CC, 22, 44, Morais, 350.5

como você está colocando espaços depois da vírgula o seu código vai ler " 11" (tem um espaço antes do 11) que é uma String ao invés de ler 11 que é um número

Poxa que erro bobo, muito obrigado!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software