Я пишу программу, которая запрашивает у пользователя дату его рождения, а затем вычисляет его возраст в годах на разных планетах. Я не должен предполагать, как вводить дату рождения, за исключением того, что между каждым числом есть один пробел.
Код, который я сейчас имею, не соответствует этим спецификациям, и я не уверен, как его написать иначе. У меня также есть проблема с подсчетом моего возраста сегодня. Когда я вписываю свою дату рождения и распечатываю возраст, в настоящее время мне сообщают, что мне 407, но когда я распечатываю dateBirth и сегодня, обе эти даты верны.
System.out.print("Please enter your birthdate (mm dd yyyy): ");
birthdate = scan.nextLine();
DateFormat df = new SimpleDateFormat("MM dd yyyy");
Date dateBirth = df.parse(birthdate);
Calendar calBirth = new GregorianCalendar();
calBirth.setTime(dateBirth);
Calendar calDay = new GregorianCalendar();
today = calDay.getTime();
age = (today.getTime() - dateBirth.getTime()) / (1000 * 60 * 60 * 24 * 365);