Ir para conteúdo
Fórum Script Brasil
  • 0

Erro ao digitar um valor errado :/


Bernardo Klein

Pergunta

salve, essa é a primeira vez que posto em um fórum e não sei bem como usa, então desculpa qualquer coisa.

Estou fazendo um programinha em java com JOptionPane para uns exercícios de lógica e não estou conseguindo achar o erro.

Quando eu digito uma opção errada no Input era apenas para ir pro default, mas dá erro no final.

Exercício:

Escreva uma classe em Java para o seguinte cenário: a empresa
ACME realizou uma pesquisa de mercado para saber se as pessoas gostaram ou não de um
novo produto lançado no mercado. Para isso, forneceu o sexo (1 para masculino ou 2 para
feminino) de cada entrevistado e sua resposta (1 para sim ou 2 para não). Sabendo-se que
foram entrevistadas 20 pessoas, escreva um algoritmo que calcule e informe:
a) Número de pessoas que responderam sim;
b) Número de pessoas que responderam não;
c) A porcentagem de pessoas do sexo feminino que responderam sim;
d) A porcentagem de pessoas do sexo masculino que responderam não.

código:

package listaexercicios;

import javax.swing.JOptionPane;

public class BAtividade30 {

    public static void main(String[] args) {
        int sexo, resposta, contadorS = 0, contadorN = 0, contadorNM = 0, contadorSF = 0;
        for (int i = 0; i < 20; i++) {
            sexo = Integer.parseInt(JOptionPane.showInputDialog(null, (i + 1) + "\nInforme seu sexo\n\n1 - Masculino\n\n2 - Feminino"));
            resposta = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe sua resposta\n\n1 - Sim\n\n2 - Não"));

            switch (resposta) {
                case 1 -> {
                    contadorS++;
                    switch (sexo) {
                        case 1 -> {
                        }
                        case 2 ->
                            contadorSF++;
                        default -> {
                            JOptionPane.showMessageDialog(null, "Respostas Inválidas, dado não registrado");
                            contadorS--;
                        }
                    }
                }
                case 2 -> {
                    contadorN++;
                    switch (sexo) {
                        case 1 ->
                            contadorNM++;
                        case 2 -> {
                        }
                        default -> {
                            JOptionPane.showMessageDialog(null, "Respostas Inválidas, dado não registrado");
                            contadorN--;
                        }
                    }
                }
                default ->
                    JOptionPane.showMessageDialog(null, "Respostas Inválidas, dado não registrado");

            }

        }
        JOptionPane.showMessageDialog(null, "Número de pessoas que responderam sim: " + contadorS
                + "\nNúmero de Pessoas que responderam não: " + contadorN
                + "\nA porcentagem de pessoas do sexo feminino que responderam sim " + (contadorSF * 100 / contadorSF) + "%"
                + "\nA porcentagem de pessoas do sexo masculino que responderam não " + (contadorNM * 100 / contadorNM) + "%");
    }

}

 

Editado por Bernardo Klein
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...