1
I’m having problems with data inputs using Scanner with Joptionpane works well.
Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at pkgClientesPedidosDiogoVinicius.TesteClientesPedidos.menu(TesteClientesPedidos.java:43) at pkgClientesPedidosDiogoVinicius.TesteClientesPedidos.main(TesteClientesPedidos.java:18)
import java.io.IOException;
import java.util.Scanner;
public class TesteClientesPedidos {
    static int opcao;
    public static void main(String[] args) throws IOException {
        menu();
    }
    static void menu() throws IOException {
        Scanner leitura = new Scanner(System.in);
        do {
            System.out.println("PROGRAMA CLIENTES/PEDIDOS - OPÇÕES\n");
            System.out.println("----------------------------------\n");
            System.out.println("1  - Cadastrar Gerente\n");
            System.out.println("2  - Cadastrar Vendedor\n");
            System.out.println("3  - Cadastrar Técnico\n");
            System.out.println("4  - Mostrar dados dos funcionarios(Gerente/Vendedor/Técnico\n");
            System.out.println("5  - Cadastrar Item de Pedido\n");
            System.out.println("6  - Cadastrar Pedido\n");
            System.out.println("7  - Mostrar Dados de Pedido e Item de Pedido\n");
            System.out.println("8  - Cadastrar Gerente Administrativo\n");
            System.out.println("9  - Cadastrar Gerente Financeiro\n");
            System.out.println("10 - Mostrar dados de Gerente Administrativo e Financeiro\n");
            System.out.println("11 - Mostrar cálculo do salário para cada funcionario (Gerente/Vendedor/Técnico\n");
            System.out.println("12 - Sobre\n");
            System.out.println("13 - Encerrar programa\n");
            System.out.println("Informe a opção:");
            opcao = leitura.nextInt();
            switch (opcao) {
            case 1:
                cadastrarGerente();
                System.out.println(">>PROGRAMA");
                break;
            case 13:
                System.out.println(">>PROGRAMA FINALIZADO");
                break;
            }
        } while (opcao != 13);
        leitura.close();
    }
    public static void cadastrarGerente() {
        String nome;
        int matricula;
        String telefone;
        String email;
        String cidade;
        String estado;
        double salario;
        double taxaVenda;
        Scanner entrada = new Scanner(System.in);
        System.out.println("CADASTRAR GERENTE\n");
        System.out.println("Nome:........:");
        nome = entrada.nextLine();
        System.out.println("Matricula:...:");
        matricula = entrada.nextInt();
        System.out.println("Telefone:....:");
        telefone = entrada.next();
        System.out.println("Cidade:......:");
        cidade = entrada.nextLine();
        entrada.next();
        System.out.println("E-mail:......:");
        email = entrada.nextLine();
        entrada.next();
        System.out.println("Salário:.....:");
        salario = entrada.nextDouble();
        System.out.println("Estado:......:");
        estado = entrada.nextLine();
        entrada.next();
        Gerente g1 = new Gerente(nome, matricula, telefone, email, cidade, estado, salario);
        try {
            System.out.println("Taxa Venda:..:");
            taxaVenda = entrada.nextDouble();
            g1.setTaxaVenda(taxaVenda);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
        entrada.close();
    }
}