Como calcular idade média?

Alguem sabe como calcular a idade media, sendo que a pessoa frone apenas o ano de nascimento?
abaixo está o meu codigo
Calcule e mostre a idade média de todas as pessoas.

public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);

    String [] nomeCompleto= new String [10] ;
     for (int c =0; c<=9; c++){
         System.out.println("Digite os nomes para a posiçao ["+c+"] do vetor:" );
         nomeCompleto [c] = teclado.nextLine();
         System.out.print("");
     }
     
     String [] cpf= new String[10];
      for (int d =0; d<=9; d++){
         System.out.println("Digite o cpf para a posiçao ["+d+"] do vetor:" );
         cpf [d] = teclado.nextLine();
     }
     int [] anoNasc= new int[10];    
      for (int e =0; e<=9; e++){
         System.out.println("Digite o ano de Nascimento para a posiçao ["+e+"] do vetor:" );
         anoNasc [e] = teclado.nextInt();
     }

Poderia fazer assim:

import java.time.LocalDate;
import java.util.Scanner;

public class Program {
  private static final Scanner teclado = new Scanner(System.in);

  public static void main(String... args) {
    int[] anoNasc = new int[3];

    int idadeTotal = 0;

    int anoAtual = LocalDate.now().getYear();

    for (int i = 0; i < anoNasc.length; i++) {
      System.out.println("Digite o ano de Nascimento para a posiçao [" + i + "] do vetor:");
      anoNasc[i] = teclado.nextInt();
      idadeTotal = idadeTotal + (anoAtual - anoNasc[i]);
    }

    float idadeMedia = (float) idadeTotal / anoNasc.length;
    System.out.println("A idade média é: " + idadeMedia);
  }
}

O problema é que sem o mês do nascimento a conta não vai sair exata. Por exemplo, o ano atual é 2021, se eu digo que nasci em 1989 ele vai contabilizar 32 anos, só que se eu faço aniversário apenas no fim do ano, eu teria 31 e não 32.

2 curtidas

Se você só quer o ano atual (e não interessa o dia e mês), também pode usar um java.time.Year:

int anoAtual = Year.now().getValue();
2 curtidas

oiiii, deu muito certo!! MUITO OBRIGADA!

1 curtida

Nossa, valeu.