Porcentagem

2 respostas
R

Estou aqui resolvendo uma lista de exercícios mas estou travado em um ponto.

Vou colocar o código que “não está funcionando” abaixo:

Em um determinado ponto do meu programa as variáveis qtdPessoas2 e qtdTotal são respectivamente 2 e 4 e então eu solto o seguinte comando:

System.out .printf(("A porcentagem de pessoas com idade entre 10 e 30 anos entre as pessoas que medem mais de 1.90 é: ") + ((qtdPessoas2 / qtdTotal) * 100));

Esse código não deveria retornar a saída 50?

2 Respostas

userguj

Broder…
provavelmente o seu ta retornando zero como resultado…
isso ocorre porque quando você divide duas variáveis inteiras, é retornado apenas a parte inteira do resultado, veja:

int qtdPessoas2 = 2; int qtdTotal = 4; qtdPessoas2 / qtdTotal = 0.5;// logo 2 dividido por 4 é igual a 0.5, ou seja vai retornar apenas o zero... logo 0 * 100 é igual a zero

Veja este ai:

System.out.printf("A porcentagem de pessoas com idade entre 10 e 30 anos entre as pessoas que medem mais de 1.90 é: %d", (int)(((float) qtdpessoas/qtdtotal) * 100));

Peguei o valor da divisão, fiz uma conversão para float para poder pegar o valor real do resultado, depois multipliquei por 100, e por ultimo converti para (int).

R

Opa, entendi cara, no caso a divisão então era pra retornar 0.5 e só retornou a parte inteira que é o 0…

Muito obrigado mesmo! Valeu mesmo!

Criado 19 de junho de 2011
Ultima resposta 20 de jun. de 2011
Respostas 2
Participantes 2