Ir ao conteúdo
  • Cadastre-se

Java Programa de repetição e retorno de valores


Posts recomendados

import java.util.Scanner;
import java.text.DecimalFormat;
public class EP5_3 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int idade = 0, contadorInfantil = 0, contadorJuvenil = 0, contadorJunior = 0, contadorProfissional = 0, N = 0, P = 0, acumuladorPessoas = 0, acumuladorNoPeso = 0;
        double peso = 0;
        String nome;
        DecimalFormat df = new DecimalFormat("#0.0");

        do {
            System.out.println("Qual sua idade?");
            idade = scan.nextInt();
            if (idade != 0) {
                System.out.println("Qual seu nome?");
                nome = scan.next();
                System.out.println("Qual seu peso (em kg)?");
                peso = scan.nextInt();
                acumuladorPessoas = acumuladorPessoas + 1;
            }

            if (idade >= 5 && idade <= 10) {
                contadorInfantil++;
               
            }
            if (idade >= 11 && idade <= 15) {
                contadorJuvenil++;
                
            }
            if (idade >= 16 && idade <= 20) {
                contadorJunior++;
                
            }
            if (idade >= 21) {
                contadorProfissional++;
                
            }
            if (peso >= 10 && peso <= 25.5) {
                acumuladorNoPeso = acumuladorNoPeso + 1;
            }    
                peso=0;
                nome = null;
            } while (idade != 0);
        System.out.println("A quantidade de atletas na categoria infantil: " + contadorInfantil);
        System.out.println("A quantidade de atletas na categoria juvenil: " + contadorJuvenil);
        System.out.println("A quantidade de atletas na categoria junior: " + contadorJunior);
        System.out.println("A quantidade de atletas na categoria profissional: " + contadorProfissional);
        System.out.println("A porcentagem de atletas com peso entre 10,0 e 25,5kg: " + df.format((acumuladorNoPeso / acumuladorPessoas)*100));
    }
}

Tenho que fazer um programa que organize por categorias e depois mostre para o usuário quantas pessoas há em cada uma delas. Além disso, deve colocar qual a porcentagem de pessoas entre 10kg e 25,5kg. O detalhe é que o programa deve parar quando o usuário digitar 0 para a idade (o que provavelmente está fazendo o meu não estar certo: o erro sempre ocorre na linha que mostra a porcentagem de pessoas entre aquele peso).

Link para o comentário
Compartilhar em outros sites

acumuladorNoPeso e acumuladorPessoas são inteiro.

Quando você divide dois inteiros e o denominador é maior que o numerado, o resultado da sempre 0.

Se eu multiplicar por 100.0 antes de dividir, o compilador interpreta como ponto flutuante agora e o resultado pode ter decimais.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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!