2
respostas

erro java.util.InputMismatchException referente Locale

Olá, pessoal. Poderiam me auxiliar? Esta dando o seguinte erro:

Exception in thread "main" java.util.InputMismatchException at java.base/java.util.Scanner.throwFor(Scanner.java:939) at java.base/java.util.Scanner.next(Scanner.java:1594) at java.base/java.util.Scanner.nextDouble(Scanner.java:2564) at br.com.tatyj.java.io.teste.TesteLeitura2.main(TesteLeitura2.java:28)

Porem segundo o que pesquisei se refere ao Locale (referente ao ponto e virgula), mesmo com o Locale já definido no código o erro persiste. Segue código:

public class TesteLeitura2 {

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


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

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

        String tipoConta = linhaScanner.next();
        int agencia = linhaScanner.nextInt();
        int numero = linhaScanner.nextInt();
        String titular = linhaScanner.next();
        double saldo = linhaScanner.nextDouble();


        System.out.format(new Locale("pt","BR"),"%s: %04d, %06d, %20s, %05.2f %n", tipoConta, agencia, numero, titular, saldo);

        linhaScanner.close();


    }

    scanner.close();


}

}

2 respostas

Oi Tatiana, tudo bem? Teu código rodou de boa aqui pra mim, tudo parece OK. Cheque se você importou o "import java.util.Locale;".

Bons estudos! ;-)

olá, tudo bem sim!... Obrigada pelo retorno. Verifiquei aqui, e já consta sim o "import java.util.Locale;" . mesmo assim o erro persiste. A linha 28 onde ele aponta o erro é a que possui o seguinte trecho:

double saldo = linhaScanner.nextDouble();