1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Problema com calculadora estatística, tipo primitivo char aonde é double

Ola galerinha do GUJ!

Encontro a seguinte dificuldade na minha calculadora estatística de intervalo de confiança:

O programa funciona assim, após perguntar a média, o desvio padrão, o tamanho da amostra, o universo e a porcentagem de confiança há automaticamente a margem de erro e o intervalo de confiança juntamente com sua amplitude.

Quando o usuário coloca algum número no campo UNIVERSO (no código abaixo está como e.nextDouble()) o código funciona e dá certo. Porém, há casos em que ele é desconhecido, e preciso de um char para negar isso. Tentei com o 0 (zero), porém o mesmo era confundido com a formula das equações

Caso o usuário coloque o char 'D', como transformar isso no tipo primitivo adequado para se encaixar no boolean abaixo?

Desculpe o post longo, mas isso está me rendo poucas horas de sono hahaha (vide horário da postagem)

Obrigado!

Obs. No código não consta a conversão de confiança para a confiança real, poupei algumas linhas


    Scanner a = new Scanner(System.in);
    System.out.println("\nQUAL A MEDIA?");
    double media = a.nextDouble();

    Scanner c = new Scanner(System.in);
    System.out.println("QUAL O DESVIO PADRAO?");
    double desvio = c.nextDouble();

    Scanner e = new Scanner(System.in);    
    System.out.println("QUAL O UNIVERSO? (Caso seja desconhecido digite '0')");
    double N = e.nextDouble();

    Scanner b = new Scanner(System.in);
    System.out.println("QUAL O TAMANHO DA AMOSTRA?");
    double n = b.nextDouble();    

    Scanner d = new Scanner(System.in);
    System.out.println("QUAL A CONFIANCA?");
    double confianca = d.nextDouble();    


boolean continua;

        if (N == 0){continua = true;};    
        if (N != 0){continua = false;};

    if(continua = false){
            if(n/N <= 0.05){
                                //Aqui nao se usa fator de correcao quando n/N <= 0,05
                                double margem = confianca * desvio / Math.sqrt(n);
                                System.out.println("\nMargem de erro: " + margem);
                                double intervaloUM = media - margem;
                                double intervaloDOIS = media + margem;
                                double amplitudeUm = intervaloDOIS - intervaloUM;
                                System.out.println("\n.Intervalo de confianca: [ " + intervaloUM + " , " + intervaloDOIS + "  ]");
                                System.out.println("\nAmplitude da intervalo: " + amplitudeUm);                
            }
    }    else {
                                //Aqui se usa fator de correcao, pois n/N e maior que 0,05 (a divisao tem resultado diferente que <= 0,05)
                                double margemDois = confianca * Math.sqrt((N-n)/(N - 1))*desvio/Math.sqrt(n);
                                System.out.println("\nMargem de erro: " + margemDois);
                                double intervaloFinUm = media - margemDois;
                                double intervaloFinDois = media + margemDois;
                                double amplitudeDo = intervaloFinDois - intervaloFinUm;
                                System.out.println("\n..Intervalo de confianca: [" + intervaloFinUm + " , " + intervaloFinDois + "  ]");
                                System.out.println("\nAmplitude do intervalo: " + amplitudeDo);
                                System.out.println("\nObs: Foi utilizado fator de correcao");        
    }

    if (continua = true){
                                //Aqui nao se usa fator de correcao quando n/N <= 0,05
                                double margem = confianca * desvio / Math.sqrt(n);
                                System.out.println("\nMargem de erro: " + margem);
                                double intervaloUM = media - margem;
                                double intervaloDOIS = media + margem;
                                double amplitudeUm = intervaloDOIS - intervaloUM;
                                System.out.println("\n...Intervalo de confianca: [ " + intervaloUM + " , " + intervaloDOIS + "  ]");
                                System.out.println("\nAmplitude da intervalo: " + amplitudeUm);        
    }


}
}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags integer ou faça a sua própria pergunta.