Escrever um algoritmo que leia um conjunto de 20 informações contendo, cada uma delas, a altura e o sexo de uma pessoa (código=1, masculino código=2, feminino), calcule e mostre o seguinte:
eu tenho uma dúvida apenas no código, tenho ele feito aqui, não consegui fazer apenas a parte do menor, o resto está feito
R
Rodrigo_Void
Ajudaria mto se o postasse e explicasse onde tá seu problema/dúvida.
M
Mike
Você terá que ter um for e uma variável que armazenará o valor menor, irei chama-la de menor
Se x for menor que menor
menor = x
E
eduardo13
import java.util.Scanner;
public class Exec13 {
publicstaticvoidmain(String[]args){Scannert=newScanner(System.in);floataltf=0;floata1;intcontf=0;floatmaior2=0;floatmaior1=0;floatmaior=0;floatmenor1=0;floatmenor2=0;floatmenor=0;floataltm=0;floata2;floatcontm=0;for(inti=0;i<5;i++){System.out.print("1. MASCULINO 2.FEMININO\n\n");System.out.print("ESCOLHA:");intn=t.nextInt();switch(n){case1:System.out.println("Qual a sua altura?");a1=t.nextFloat();altm+=a1;contm++;if(a1>maior1){maior1=a1;}if(a1<menor1){menor1=a1;}break;case2:System.out.println("Qual a sua altura? ");a2=t.nextFloat();altf+=a2;contf++;if(a2>maior2){maior2=a2;}if(a2<menor2){menor2=a2;}break;default:System.out.println("Opção inválida.");}}if(maior1>maior2){maior=maior1;}else{maior=maior2;}if(menor1<menor2){menor=menor1;}else{menor=menor2;}floatf=altf/contf;floatm=altm/contm;floatmediaT=(altf+altm)/5;System.out.println("Média da altura das mulheres: "+f);System.out.println("Média altura dos homens: "+m);System.out.println("Média da altura da turma: "+mediaT);System.out.println("maior da turma: "+maior);System.out.println("Menor da turma: "+menor);}
}
A única parte que estou com problema é no “menor”, já tentei de várias formas.
M
Solucao aceita
Mike
O menor fica com o valor 0 né?
Quando você cria uma variável, ela já vem com um valor padrão de inicialização, no caso do float é 0.
Ou seja você esta comparando o valor 0 da variavel menor.
Se você definir um valor negativo na altura, você verá que vai funcionar
Você pode declarar a variável menor com o valor 9999999 ou então, na primeira inserção de valores, você já atribuir um valor a ela, ai a comparação funcionará
E
eduardo13
Funcionou , muito obrigado!!
M
Mike
Que bom! Você inicializou com 9999999 ou fez do outro jeito?
Considere marcar a minha resposta como solução