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();
}
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.