0
respostas

[Dúvida] Erro ao executar importação dos pets do abrigo java.util.NoSuchElementException

Essa é a saída do console, com meus inputs e os outputs do programa. E no final após fazer a importação ele está dando o seguinte erro, como aparece no texto abaixo: java.util.NoSuchElementException

Digite o id ou nome do abrigo: 1 Digite o nome do arquivo CSV: pets.csv Pet cadastrado com sucesso: Rex Pet cadastrado com sucesso: Mia Pet cadastrado com sucesso: Luna Pet cadastrado com sucesso: Felix Pet cadastrado com sucesso: Bella Pet cadastrado com sucesso: Lucy Pet cadastrado com sucesso: Apollo Pet cadastrado com sucesso: Leopoldo

DIGITE O NÚMERO DA OPERAÇÃO DESEJADA: 1 -> Listar abrigos cadastrados 2 -> Cadastrar novo abrigo 3 -> Listar pets do abrigo 4 -> Importar pets do abrigo 5 -> Sair java.util.NoSuchElementException: No line found at java.base/java.util.Scanner.nextLine(Scanner.java:1651) at br.com.alura.AdopetConsoleApplication.main(AdopetConsoleApplication.java:20)

Process finished with exit code 0

Este é o meu código, o que pode estar errado?

package br.com.alura;

import java.util.Scanner;

public class AdopetConsoleApplication {

    public static void main(String[] args) {
        CommandExecutor executor = new CommandExecutor();
        System.out.println("##### BOAS VINDAS AO SISTEMA ADOPET CONSOLE #####");
        try {
            int opcaoEscolhida = 0;
            while (opcaoEscolhida != 5) {
                System.out.println("\nDIGITE O NÚMERO DA OPERAÇÃO DESEJADA:");
                System.out.println("1 -> Listar abrigos cadastrados");
                System.out.println("2 -> Cadastrar novo abrigo");
                System.out.println("3 -> Listar pets do abrigo");
                System.out.println("4 -> Importar pets do abrigo");
                System.out.println("5 -> Sair");

                String textoDigitado = new Scanner(System.in).nextLine();
                opcaoEscolhida = Integer.parseInt(textoDigitado);

                if (opcaoEscolhida == 1) {
                    executor.executeCommand(new ListarAbrigoCommand());
                } else if (opcaoEscolhida == 2) {
                    executor.executeCommand(new CadastrarAbrigoCommand());
                } else if (opcaoEscolhida == 3) {
                    executor.executeCommand(new ListarPetsDoAbrigoCommand());
                } else if (opcaoEscolhida == 4) {
                    executor.executeCommand(new ImportarPetsDoAbrigoCommand());
                } else if (opcaoEscolhida == 5) {
                    break;
                } else {
                    System.out.println("NÚMERO INVÁLIDO!");
                    opcaoEscolhida = 0;
                }
            }
            System.out.println("Finalizando o programa...");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}