A ideia é criar um programa que o usuário coloca quantas datas de nascimento quiser e o programa calcula a idade e mostra o mais velho, o mais novo e a media entre idades.
Fiz uma parte mas estou com dificuldade na parte das listas, consigo imprimir somente o ultimo número que o usuário colocou …
Meu código:
package application;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Program {
public static void main(String[] args) throws ParseException {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Scanner sc = new Scanner(System.in);
ArrayList<Date>list = new ArrayList<Date>();
System.out.println("Quantos funcionários serão registrados?");
int N = sc.nextInt();
for (int i = 0; i < N; i++) {
System.out.println("Funcionários #" + (i + 1) + ":");
System.out.print("Name: ");
sc.next();
String name = sc.nextLine();
System.out.println("Data de nascimento: ");
Date nasc = sdf.parse(sc.next());
cal.setTime(nasc);
list.add(nasc);
int year = cal.get(Calendar.YEAR);
Date atualData = new Date();
cal.setTime(atualData);
int atualYear = cal.get(Calendar.YEAR);
int idade = (atualYear - year) - 1;
System.out.println(idade);
}
sc.close();
}
}