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).