Galera , sou iniciante em JAVA e estou com dúvida no seguinte exercício:
1. Faça um programa para ler o sexo e a altura de um grupo de 50 pessoas. O programa deve calcular:
A altura média das mulheres e a altura média dos homens;
A maior e a menor altura do grupo, dizendo se a altura é de um homem ou de uma mulher.
OBS: Os valores válidos para o sexo são ‘M’, ‘m’, ‘F’ ou ‘f’. Os valores válidos para altura são de 0,5 a 2,0 (inclusive). O programa deve forçar a digitação de valores válidos para sexo e altura.
A parte da média da altura do sexo masculino e feminino não tenho problemas em fazer mas a parte de achar o menor e a maior altura do grupo e ainda dizer se é um Homem ou Mulher achei complicado. Segue o código:
int pessoa;
char sexo;
double altura;
double somaalturam=0;
double somaalturaf=0;
double mediam=0;
double mediaf=0;
int m=0;
int f=0;
Scanner entrada = new Scanner(System.in);
for(pessoa=1;pessoa<=50;pessoa++){
System.out.print("Digite seu Sexo com 'M' ou 'F': ");
sexo=entrada.next().charAt(0);
sexo=Character.toLowerCase(sexo);
while (sexo!='m'&&sexo!='f'){
System.out.print("Digite somente 'M' ou 'F':");
sexo=entrada.next().charAt(0);
sexo=Character.toLowerCase(sexo);
}
if (sexo=='m'){
m=m+1;
System.out.print("Digite sua altura:");
altura=entrada.nextDouble();
while(altura<0.5&&altura>2){
System.out.print("Digite altura entre 0.5 e 2:");
altura=entrada.nextDouble();
}
somaalturam=somaalturam+altura;
mediam=somaalturam/m;
}else{
f=f+1;
System.out.print("Digite sua altura:");
altura=entrada.nextDouble();
while(altura<0.5&&altura>2){
System.out.print("Digite altura entre 0.5 e 2:");
altura=entrada.nextDouble();
}
somaalturaf=somaalturaf+altura;
mediaf=somaalturaf/f;
}
}
System.out.println("Média de altura dos homens:"+mediam);
System.out.print("Média de altura das mulheres"+mediaf);
}
}