Ir ao conteúdo
  • Cadastre-se

Erro no switch


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

Então pessoal to fazendo um projeto em java e estou com um problema em um switch, não estou conseguindo identificar o erro,

 

segue o código abaixo. 

package trabalhofuncionario;import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner ler = new Scanner(System.in);        System.out.println(">>------------>BEM VINDO AO CAD FUNCIONÁRIO!<------------<<");        byte contador = 1;        while (contador == 0) {            System.out.print("\nInforme a ação conforme abaixo:\n\n1 - Cadastrar novo funcionário\n2 - Sair do programa\nDigite aqui sua opção: ");            byte swop = ler.nextByte();            switch (swop) {                case 1:                    System.out.println("Cadastrando novo funcionário");                    System.out.println("Digite o nome: ");                    String nome = ler.next();                    System.out.println("Digite o cpf: ");                    String cpf = ler.next();                    System.out.println("Digite o rg: ");                    String rg = ler.next();                    System.out.println("Digite o endereço: ");                    String endereco = ler.next();                    System.out.println("Digite o telefone: ");                    String fone = ler.next();                                        String sexo = null;                    while (contador == 0) {                        System.out.print("\nEscolha o sexo\n1- Masculino\n2- Feminino\nDigite aqui sua opção: ");                        contador = ler.nextByte();                        switch (contador) {                            case 1:                                sexo = ("Masculino");                                break;                            case 2:                                sexo = ("Feminino");                                break;                            default:                                System.err.println("Opção inválida");                                                        }                                        System.out.println("Digite o email: ");                    String email = ler.next();                    System.out.println("Digite a quantidade de dependentes: ");                    int dependentes = ler.nextInt();                    System.out.println("Digite a chapa: ");                    String chapa = ler.next();                    System.out.println("Digite o cargo: ");                    String cargo = ler.next();                    System.out.println("Digite o tempo de serviço em anos: ");                    int tempo = ler.nextInt();                    System.out.println("Digite  o valor da hora: ");                    double valorHora = ler.nextDouble();                    Funcionario f = new Funcionario(nome, cpf, endereco, fone, chapa, valorHora);                    f.setRg(rg);                    f.setSexo(sexo);                    f.setEmail(email);                    f.setQtdDependentes(dependentes);                    f.setCargo(cargo);                    f.setTempoDeServicoAno(tempo);                    System.out.println("Digite a carga horaria base: ");                    f.setCargaHorariaBase(ler.nextDouble());                    System.out.println("Digite a quantidade de horas extras: ");                    f.setQtdHorasExtras(ler.nextDouble());                                                            while (contador == 0)                                                System.out.print("\nEscolha do Vale Transp\norte conforme abaixo:\n1. Sim, ganha VT\n2. Não, não ganha VT\nDigite aqui sua opção: ");                            contador = ler.nextByte();                        switch (contador) {                            case 1:                                f.setOpcaoVt(contador);                                System.out.println("Digite o valor total de passagem: ");                                f.setValorTotalDePassagem(ler.nextDouble());                                break;                            case 2:                                f.setOpcaoVt(contador);                                break;                            default:                                System.err.println("\nOpção inválida");                                contador = 0;                        }                                        byte contador1 = 0;                    while (contador1 == 0) {                        System.out.print("\nEscolha o grau de insalubridade\n1- Máximo 40%\n2- Médio 20%\n3- Minimo 10%\nDigite aqui sua opção: ");                          contador1 = ler.nextByte();                        switch (contador1) {                            case 1:                                f.setGrauInsalubridade(contador1);                               break;                            case 2:                                f.setGrauInsalubridade(contador1);                                break;                            case 3:                                f.setGrauInsalubridade(contador1);                                                        default:                                System.err.println("\nOpção inválida");                                contador1 = 0;                        }                    }                    contador = 0;                    while (contador == 0) {                        System.out.print("\nEscolha uma opção:"                                + "\n1- Mostrar nome e Salário bruto"                                + "\n2- Mostrar nome e Valor de horas extras"                                + "\n3- Mostrar nome e Valor VT"                                + "\n4- Mostrar nome e Valor do INSS"                                + "\n5- Mostrar nome e valor da Insalubridade"                                + "\n6- Mostrar nome e valor do Salário Família"                                + "\n7- Mostrar nome e Valor do plano de carreira"                                + "\n8- Mostrar nome e Valor total de plano de saúde"                                + "\n9- Mostrar nome e Valor do salário liquido"                                + "\n10- Mostrar todos os dados e Calculos do funcionário"                                + "\nDigite aqui sua opção: ");                        contador = ler.nextByte();                        switch (contador) {                            case 1:                                System.out.println("\nNome: " + f.getNome() + "\nSalário Bruto" + f.calcularSalarioBruto());                                break;                             case 2:                                System.out.println("\nNome: " + f.getNome() + "\nValor de horas extras: " + f.calcularHorasExtras());                                break;                            case 3:                                System.out.println("\nNome: " + f.getNome() + "\nValor do VT:" + f.calcularVT());                                break;                            case 4:                                System.out.println("\nNome: " + f.getNome() + "\nValor do INSS: " + f.calcularINSS());                                break;                            case 5:                                System.out.println("\nNome: " + f.getNome() + "\nValor da insalubridade: " + f.calcularInsalubridade());                                break;                            case 6:                                System.out.println("\nNome: " + f.getNome() + "\nValor do salário familia: " + f.calcularSalarioFamilia());                                break;                            case 7:                                System.out.println("\nNome: " + f.getNome() + "\nValor do plano da carreira: " + f.calcularPlanoDeCarreira());                                break;                            case 8:                                System.out.println("\nNome: " + f.getNome() + "\nValor total do plano de saúde: " + f.calcularPlanoDeSaude());                                break;                            case 9:                                System.out.println("\nNome: " + f.getNome() + "\nValor do salário liquido: " + f.calcularSalarioLiquido());                                break;                            case 10:                                System.out.println("\nDados: " + (f) + "\nCalculos: " + "\nCalculo de hora extra: " + f.calcularHorasExtras() + "\nCalculo de salário bruto: " + f.calcularSalarioBruto() + "\nCalculo de VT: " + f.calcularVT() + "\nCalculo de INSS: " + f.calcularINSS() + "\nCalculo de insalubridade: " + f.calcularInsalubridade() + "\nCalculo de salario familia: " + f.calcularSalarioFamilia() + "\nCalculo de plano de carreira: " + f.calcularPlanoDeCarreira() + "\nCalculo de plano de saude: " + f.calcularPlanoDeSaude() + "\nCalcular salario liquido: " + f.calcularSalarioLiquido());                                break;                            default:                                System.err.println("Opção Inválida");                                contador = 1;                                            }                    int contador2 = 0;                    break;                                    case 2: //AKI ESTA A LINHA COM ERRO                    System.out.println("Obrigado pela preferencia!");                    System.exit(0);                    break;                default:                    System.err.println("Opção inválida\n");                    contador = 0;                    }                    }            }        }    }}

Não consegui de jeito nenhum identificar o erro, se alguém poder me ajudar, agradeço desde já !!

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Olá a todos.

 

você já tentou utilizar a classe Scanner com o método nextInt() ??? eu sinceramente sempre utilizei assim e nunca tive problemas ...

 

Creio que o problema atual não seja na metodologia, mas sim na sintaxe...

 

Então pessoal to fazendo um projeto em java e estou com um problema em um switch, não estou conseguindo identificar o erro,

 

segue o código abaixo. 

package trabalhofuncionario;import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner ler = new Scanner(System.in);        System.out.println(">>------------>BEM VINDO AO CAD FUNCIONÁRIO!<------------<<");        byte contador = 1;        while (contador == 0) {            System.out.print("\nInforme a ação conforme abaixo:\n\n1 - Cadastrar novo funcionário\n2 - Sair do programa\nDigite aqui sua opção: ");            byte swop = ler.nextByte();            switch (swop) {                case 1:                    System.out.println("Cadastrando novo funcionário");                    System.out.println("Digite o nome: ");                    String nome = ler.next();                    System.out.println("Digite o cpf: ");                    String cpf = ler.next();                    System.out.println("Digite o rg: ");                    String rg = ler.next();                    System.out.println("Digite o endereço: ");                    String endereco = ler.next();                    System.out.println("Digite o telefone: ");                    String fone = ler.next();                                        String sexo = null;                    while (contador == 0) {                        System.out.print("\nEscolha o sexo\n1- Masculino\n2- Feminino\nDigite aqui sua opção: ");                        contador = ler.nextByte();                        switch (contador) {                            case 1:                                sexo = ("Masculino");                                break;                            case 2:                                sexo = ("Feminino");                                break;                            default:                                System.err.println("Opção inválida");                                                        }                                        System.out.println("Digite o email: ");                    String email = ler.next();                    System.out.println("Digite a quantidade de dependentes: ");                    int dependentes = ler.nextInt();                    System.out.println("Digite a chapa: ");                    String chapa = ler.next();                    System.out.println("Digite o cargo: ");                    String cargo = ler.next();                    System.out.println("Digite o tempo de serviço em anos: ");                    int tempo = ler.nextInt();                    System.out.println("Digite  o valor da hora: ");                    double valorHora = ler.nextDouble();                    Funcionario f = new Funcionario(nome, cpf, endereco, fone, chapa, valorHora);                    f.setRg(rg);                    f.setSexo(sexo);                    f.setEmail(email);                    f.setQtdDependentes(dependentes);                    f.setCargo(cargo);                    f.setTempoDeServicoAno(tempo);                    System.out.println("Digite a carga horaria base: ");                    f.setCargaHorariaBase(ler.nextDouble());                    System.out.println("Digite a quantidade de horas extras: ");                    f.setQtdHorasExtras(ler.nextDouble());                                                            while (contador == 0)                                                System.out.print("\nEscolha do Vale Transp\norte conforme abaixo:\n1. Sim, ganha VT\n2. Não, não ganha VT\nDigite aqui sua opção: ");                            contador = ler.nextByte();                        switch (contador) {                            case 1:                                f.setOpcaoVt(contador);                                System.out.println("Digite o valor total de passagem: ");                                f.setValorTotalDePassagem(ler.nextDouble());                                break;                            case 2:                                f.setOpcaoVt(contador);                                break;                            default:                                System.err.println("\nOpção inválida");                                contador = 0;                        }                                        byte contador1 = 0;                    while (contador1 == 0) {                        System.out.print("\nEscolha o grau de insalubridade\n1- Máximo 40%\n2- Médio 20%\n3- Minimo 10%\nDigite aqui sua opção: ");                          contador1 = ler.nextByte();                        switch (contador1) {                            case 1:                                f.setGrauInsalubridade(contador1);                               break;                            case 2:                                f.setGrauInsalubridade(contador1);                                break;                            case 3:                                f.setGrauInsalubridade(contador1);                                                        default:                                System.err.println("\nOpção inválida");                                contador1 = 0;                        }                    }                    contador = 0;                    while (contador == 0) {                        System.out.print("\nEscolha uma opção:"                                + "\n1- Mostrar nome e Salário bruto"                                + "\n2- Mostrar nome e Valor de horas extras"                                + "\n3- Mostrar nome e Valor VT"                                + "\n4- Mostrar nome e Valor do INSS"                                + "\n5- Mostrar nome e valor da Insalubridade"                                + "\n6- Mostrar nome e valor do Salário Família"                                + "\n7- Mostrar nome e Valor do plano de carreira"                                + "\n8- Mostrar nome e Valor total de plano de saúde"                                + "\n9- Mostrar nome e Valor do salário liquido"                                + "\n10- Mostrar todos os dados e Calculos do funcionário"                                + "\nDigite aqui sua opção: ");                        contador = ler.nextByte();                        switch (contador) {                            case 1:                                System.out.println("\nNome: " + f.getNome() + "\nSalário Bruto" + f.calcularSalarioBruto());                                break;                             case 2:                                System.out.println("\nNome: " + f.getNome() + "\nValor de horas extras: " + f.calcularHorasExtras());                                break;                            case 3:                                System.out.println("\nNome: " + f.getNome() + "\nValor do VT:" + f.calcularVT());                                break;                            case 4:                                System.out.println("\nNome: " + f.getNome() + "\nValor do INSS: " + f.calcularINSS());                                break;                            case 5:                                System.out.println("\nNome: " + f.getNome() + "\nValor da insalubridade: " + f.calcularInsalubridade());                                break;                            case 6:                                System.out.println("\nNome: " + f.getNome() + "\nValor do salário familia: " + f.calcularSalarioFamilia());                                break;                            case 7:                                System.out.println("\nNome: " + f.getNome() + "\nValor do plano da carreira: " + f.calcularPlanoDeCarreira());                                break;                            case 8:                                System.out.println("\nNome: " + f.getNome() + "\nValor total do plano de saúde: " + f.calcularPlanoDeSaude());                                break;                            case 9:                                System.out.println("\nNome: " + f.getNome() + "\nValor do salário liquido: " + f.calcularSalarioLiquido());                                break;                            case 10:                                System.out.println("\nDados: " + (f) + "\nCalculos: " + "\nCalculo de hora extra: " + f.calcularHorasExtras() + "\nCalculo de salário bruto: " + f.calcularSalarioBruto() + "\nCalculo de VT: " + f.calcularVT() + "\nCalculo de INSS: " + f.calcularINSS() + "\nCalculo de insalubridade: " + f.calcularInsalubridade() + "\nCalculo de salario familia: " + f.calcularSalarioFamilia() + "\nCalculo de plano de carreira: " + f.calcularPlanoDeCarreira() + "\nCalculo de plano de saude: " + f.calcularPlanoDeSaude() + "\nCalcular salario liquido: " + f.calcularSalarioLiquido());                                break;                            default:                                System.err.println("Opção Inválida");                                contador = 1;                                            }                    int contador2 = 0;                    break;                                    case 2: //aqui ESTA A LINHA COM ERRO                    System.out.println("Obrigado pela preferência!");                    System.exit(0);                    break;                default:                    System.err.println("Opção inválida\n");                    contador = 0;                    }                    }            }        }    }}
Não consegui de jeito nenhum identificar o erro, se alguém poder me ajudar, agradeço desde já !!
 

O problema está nesse jogo de chaves ai... tem trechos de códigos que estão fora do lugar e acho que faltou abrir algumas chaves também (num While, deixei um comentário lá com "[simon Viegas]")...

Abaixo está seu mesmo código, apenas reindentado de acordo como está a sintaxe... veja e compare com o seu código. Daí, tem achar o erro e ajustar...

 

package trabalhofuncionario;import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner ler = new Scanner(System.in);        System.out.println(">>------------>BEM VINDO AO CAD FUNCIONÁRIO!<------------<<");        byte contador = 1;        while (contador == 0) {            System.out.print("\nInforme a ação conforme abaixo:\n\n1 - Cadastrar novo funcionário\n2 - Sair do programa\nDigite aqui sua opção: ");            byte swop = ler.nextByte();            switch (swop) {                case 1:                    System.out.println("Cadastrando novo funcionário");                    System.out.println("Digite o nome: ");                    String nome = ler.next();                    System.out.println("Digite o cpf: ");                    String cpf = ler.next();                    System.out.println("Digite o rg: ");                    String rg = ler.next();                    System.out.println("Digite o endereço: ");                    String endereco = ler.next();                    System.out.println("Digite o telefone: ");                    String fone = ler.next();                    String sexo = null;                    while (contador == 0) {                        System.out.print("\nEscolha o sexo\n1- Masculino\n2- Feminino\nDigite aqui sua opção: ");                        contador = ler.nextByte();                        switch (contador) {                            case 1:                                sexo = ("Masculino");                                break;                            case 2:                                sexo = ("Feminino");                                break;                            default:                                System.err.println("Opção inválida");                        }                        System.out.println("Digite o email: ");                        String email = ler.next();                        System.out.println("Digite a quantidade de dependentes: ");                        int dependentes = ler.nextInt();                        System.out.println("Digite a chapa: ");                        String chapa = ler.next();                        System.out.println("Digite o cargo: ");                        String cargo = ler.next();                        System.out.println("Digite o tempo de serviço em anos: ");                        int tempo = ler.nextInt();                        System.out.println("Digite  o valor da hora: ");                        double valorHora = ler.nextDouble();                        Funcionario f = new Funcionario(nome, cpf, endereco, fone, chapa, valorHora);                        f.setRg(rg);                        f.setSexo(sexo);                        f.setEmail(email);                        f.setQtdDependentes(dependentes);                        f.setCargo(cargo);                        f.setTempoDeServicoAno(tempo);                        System.out.println("Digite a carga horaria base: ");                        f.setCargaHorariaBase(ler.nextDouble());                        System.out.println("Digite a quantidade de horas extras: ");                        f.setQtdHorasExtras(ler.nextDouble());                        while (contador == 0) //SERÁ QUE AQUI NÃO TEM UM "ABRE CHAVES??? [Simon Viegas]                            System.out.print("\nEscolha do Vale Transp\norte conforme abaixo:\n1. Sim, ganha VT\n2. Não, não ganha VT\nDigite aqui sua opção: ");                        contador = ler.nextByte();                        switch (contador) {                            case 1:                                f.setOpcaoVt(contador);                                System.out.println("Digite o valor total de passagem: ");                                f.setValorTotalDePassagem(ler.nextDouble());                                break;                            case 2:                                f.setOpcaoVt(contador);                                break;                            default:                                System.err.println("\nOpção inválida");                                contador = 0;                        }                        byte contador1 = 0;                        while (contador1 == 0) {                            System.out.print("\nEscolha o grau de insalubridade\n1- Máximo 40%\n2- Médio 20%\n3- Minimo 10%\nDigite aqui sua opção: ");                              contador1 = ler.nextByte();                            switch (contador1) {                                case 1:                                    f.setGrauInsalubridade(contador1);                                   break;                                case 2:                                    f.setGrauInsalubridade(contador1);                                    break;                                case 3:                                    f.setGrauInsalubridade(contador1);                                default:                                    System.err.println("\nOpção inválida");                                    contador1 = 0;                            }                        }                        contador = 0;                        while (contador == 0) {                            System.out.print("\nEscolha uma opção:"                                    + "\n1- Mostrar nome e Salário bruto"                                    + "\n2- Mostrar nome e Valor de horas extras"                                    + "\n3- Mostrar nome e Valor VT"                                    + "\n4- Mostrar nome e Valor do INSS"                                    + "\n5- Mostrar nome e valor da Insalubridade"                                    + "\n6- Mostrar nome e valor do Salário Família"                                    + "\n7- Mostrar nome e Valor do plano de carreira"                                    + "\n8- Mostrar nome e Valor total de plano de saúde"                                    + "\n9- Mostrar nome e Valor do salário liquido"                                    + "\n10- Mostrar todos os dados e Calculos do funcionário"                                    + "\nDigite aqui sua opção: ");                            contador = ler.nextByte();                            switch (contador) {                                case 1:                                    System.out.println("\nNome: " + f.getNome() + "\nSalário Bruto" + f.calcularSalarioBruto());                                    break;                                case 2:                                    System.out.println("\nNome: " + f.getNome() + "\nValor de horas extras: " + f.calcularHorasExtras());                                    break;                                case 3:                                    System.out.println("\nNome: " + f.getNome() + "\nValor do VT:" + f.calcularVT());                                    break;                                case 4:                                    System.out.println("\nNome: " + f.getNome() + "\nValor do INSS: " + f.calcularINSS());                                    break;                                case 5:                                    System.out.println("\nNome: " + f.getNome() + "\nValor da insalubridade: " + f.calcularInsalubridade());                                    break;                                case 6:                                    System.out.println("\nNome: " + f.getNome() + "\nValor do salário familia: " + f.calcularSalarioFamilia());                                    break;                                case 7:                                    System.out.println("\nNome: " + f.getNome() + "\nValor do plano da carreira: " + f.calcularPlanoDeCarreira());                                    break;                                case 8:                                    System.out.println("\nNome: " + f.getNome() + "\nValor total do plano de saúde: " + f.calcularPlanoDeSaude());                                    break;                                case 9:                                    System.out.println("\nNome: " + f.getNome() + "\nValor do salário liquido: " + f.calcularSalarioLiquido());                                    break;                                case 10:                                    System.out.println("\nDados: " + (f) + "\nCalculos: " + "\nCalculo de hora extra: " + f.calcularHorasExtras() + "\nCalculo de salário bruto: " + f.calcularSalarioBruto() + "\nCalculo de VT: " + f.calcularVT() + "\nCalculo de INSS: " + f.calcularINSS() + "\nCalculo de insalubridade: " + f.calcularInsalubridade() + "\nCalculo de salario familia: " + f.calcularSalarioFamilia() + "\nCalculo de plano de carreira: " + f.calcularPlanoDeCarreira() + "\nCalculo de plano de saude: " + f.calcularPlanoDeSaude() + "\nCalcular salario liquido: " + f.calcularSalarioLiquido());                                    break;                                default:                                    System.err.println("Opção Inválida");                                    contador = 1;                             }                            int contador2 = 0;                            break;                            case 2: //aqui ESTA A LINHA COM ERRO                                System.out.println("Obrigado pela preferência!");                                System.exit(0);                                break;                            default:                            System.err.println("Opção inválida\n");                            contador = 0;                        }                    }            }        }    }}
No aguardo.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!