Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nandrezza Lima

dando erro na porcentagem

Recommended Posts

O EXERCICIO É ESSE:

Faça um programa que receba, de 10 pessoas: idade, sexo, peso e altura

Calcule e mostre: A média das idades das 10 pessoas A quantidade de pessoas com peso superior a 90kg A quantidade de pessoas com altura inferior a 1.50m A porcentagem de pessoas com idade entre 10 e 30 anos entre as pessoas que medem mais de 1.90m A idade média das mulheres A idade média dos homens

EU TENTEI FAZER ASSIM:


    public static void main(String[] args) {
        {    
    int idade;
    double tidade = 0;
    int f = 0;
    double mfeminino = 0;
    int m = 0;
    double mmasculino = 0;
    int tpeso = 0;
    double peso;
    int taltura = 0;
    double altura;
    int por = 0;
    int c = 0;

    int i;
    for( i=1; i<=10; i++){
        System.out.println( i + "°Pessoa:");
        Scanner ler = new Scanner(System.in);

        System.out.println("Idade: ");
            idade = ler.nextInt();
            tidade+=idade;

            while (c < 1){
        Scanner ler2 = new Scanner(System.in);
        System.out.println("Sexo: "); 
            String sexo = "m";
            sexo = ler2.nextLine();

            if(sexo.equalsIgnoreCase("m")){
                mmasculino+=idade;
                m++;
                c++;
            }else
            if(sexo.equalsIgnoreCase("f")){
                mfeminino+=idade;
                f++;
                c++;
            }else{    
            System.out.println("Informação Invalida");

                }
        }
            --c;
        System.out.println("Peso: ");
            peso = ler.nextDouble();    

            if(peso>=90){
                tpeso++;
            }

        System.out.println("Altura: ");
            altura = ler.nextDouble();

            if(altura<=150){
                taltura++;
                if(altura > 190 && idade > 10 && idade <30){
                    por++;
                }

            }

    }
                System.out.println("Média da Idade: " + tidade/10);
                System.out.println("Superior a 90Kg: " + tpeso);
                System.out.println("Inferior a 1.50M: " + taltura);
                System.out.println ("A porcentagem é:"+(por*100)/10+"%");
                System.out.println("Idade Média Mulheres: " + mfeminino/f);
                System.out.println("Idade Média Homens: " + mmasculino/m);

        }
    }
}

 

SÓ QUE QUANDO RODO, NÃO DA O RESULTADO DA PORCENTAGEM. O QUE ESTA ERRADO?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nandrezza Lima, tudo bem?

Estou começando a estudar Java recentemente, mais vejo que seu código está muito confuso e está muito dificil de entender. Tente padronizar os nomes de sua variaveis usando o padrão CamelCase exemplo:

 

 int f = 0; f - seria a palavra feminino? se sim coloque o nome completo = feminino, isto facilita na hora de interpretar seu código.

no caso de = double mfeminino = 0; mfeminino seria media feminino? se sim tente usar este padrão : mediaFeminino, iniciar com letra minuscula e a segunda palavra que faz parte com letra maiuscula.

 

Quando arrumar isso será mais facil analizar seu código, outra observação poste o código inteiro com a classe para agilizar nos testes.

 

Será um prazer te ajudar, to no aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O certo seria por / 10 * 100.

Vc não precisa declarar tantos scanners, instancie apenas um no início junto com as variaveis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.