Qual seria a maneira de resolver esse exercício ? A maneira que eu cheguei não está legal porque eu preciso atribuir um valor a idade. De que outra maneira eu mudaria na parte do While pra não acontecer isso ? Obg
Faça um algoritmo que receba a idade e a altura de várias pessoas, calcule e mostre
a média das alturas daquelas com mais de 50 anos.
-Para encerrar a entrada de dados, digite uma
idade menor ou igual a zero.
int idade=1, contadorPessoas;
float altura, acumuladorAlt, media;
acumuladorAlt = 0;
contadorPessoas = 0;
while(idade > 0){
System.out.println("Digite sua altura:");
altura = in.nextFloat();
System.out.println("Digite sua idade:");
idade = in.nextInt();
if(idade>50){
acumuladorAlt+=altura;
contadorPessoas++;
}
}
media = acumuladorAlt / contadorPessoas;
System.out.println("A media é:"+media);
Você pode simplesmente criar uma variavel int opcao, e oferecer um menu de opções.
Ex:
1 - Inserir pessoa
2 - Listar pessoas
3 - Ver media atual
4 - Sair.
E colocar um do {} while(opcao != 4);
Colocar um switch case dentro desse do while.
Você pode criar funçôes e deixar seu código mais desacoplado, o jeito correto seria você usar os conceitos de OO, extinguir variavéis globais da sua aplicação dentre outros fatores, mas como és iniciante, uma forma não elegante como a que você usou, mas que não inicializa a váriavel idade para poder entrar no while, seria ter uma váriavel que identificasse se é a primeira execução da aplicação, mas atente que isso é uma péssima prática de programação e serve apenas para clarear possibilidades de executar seu código de outros meios, caso tenha dúvidas com fazer só perguntar abraços!!
@author Jon
*/
public class CalculoEstatistica {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int idade, contadorPessoas;
float altura, acumuladorAlt, media;