首先,我想告诉大家,我刚开始在大学学习Java。所以请原谅我作为新手犯的任何错误。
基本上我想用这段代码实现的是使用 Scanner 函数计算某人的年龄。有人输入他们的出生日期(格式为 YYYY-MM-DD),我的代码会计算他们的年龄。
代码不起作用,因为我认为第 3 行: String dob = input.nextInt(); 写错了,下面的代码行无法识别。
如果我将该行更改为String dob = "1988-11-29"; 它可以工作,但是我的扫描仪功能没有用。
有人可以帮我弄这个吗?提前致谢!
Scanner input = new Scanner(System.in);
System.out.println("Enter your DOB pls");
String dob = input.nextInt();
int yearDOB = Integer.parseInt(dob.substring(0, 4));
int monthDOB = Integer.parseInt(dob.substring(5, 7));
int dayDOB = Integer.parseInt(dob.substring(8, 10));
SimpleDateFormat
dateFormat = new SimpleDateFormat("yyyy");
Date date = new Date();
int thisYear = Integer.parseInt(dateFormat.format(date));
dateFormat = new SimpleDateFormat("MM");
date = new java.util.Date();
int thisMonth = Integer.parseInt(dateFormat.format(date));
dateFormat = new SimpleDateFormat("dd");
date = new java.util.Date();
int thisDay = Integer.parseInt(dateFormat.format(date));
int age = thisYear-yearDOB;
if(thisMonth < monthDOB){ age = age-1;
} if(thisMonth == monthDOB && thisDay < dayDOB)
{ age = age-1;
}
System.out.println("The age of user is : " + age);