Erro de lógica II,preciso de ajuda.[RESOLVIDO]

1 resposta
garotinhodejesus

Construa uma aplicação em Java que receba a idade de 3 pessoas.
Calcule e imprima a média das idades válidas (maior ou igual a 18).

public class Exercicio13{
    public static void main(String[]args){
    String aux;
    double idade1, idade2, idade3, media;
    double A=0;
    double B=0;
    double C=0;
    int i = 0;
   
    aux = JOptionPane.showInputDialog(" Digite a idade da primeira pessoa");
    idade1 = Double.parseDouble(aux);

       if (idade1>=18)
      { 
       i=i+1;   
       A=idade1;
      }

    aux = JOptionPane.showInputDialog(" Digite a idade da segunda pessoa");
    idade2 = Double.parseDouble(aux);

      if (idade2>=18)
      {
       i=i+1;    
       B=idade2;
      }
     
      aux = JOptionPane.showInputDialog(" Digite a idade da terceira pessoa");
      idade3 = Double.parseDouble(aux);

      if (idade3>=18)
      {    
       C=idade3;
      }
      i=i+1;
      media = (A + B + C)/i;

     System.out.println(+media);
   
 }
}

Para a idade1 = 0, a idade2 = 0 e a idade3 = 0 não é esperada nenhuma saida.Verifique suas condições! Se as 3 idades foram abaixo de 18 você não deve calcular a média e nem imprimir o resultado!

1 Resposta

Scoobydoo

Ajuste assim

if (idade3>=18) { C=idade3; i=i+1; //Coloque aqui o i = i+1; } if (i>0){ media = (A + B + C)/i; System.out.println(+media); }else{ System.out.println("Nenhuma idade maior que 18 anos"); }

Criado 16 de março de 2011
Ultima resposta 16 de mar. de 2011
Respostas 1
Participantes 2