首页 > 解决方案 > 如何使用“localDate”从 DOB 获取 AGE,而不是使用 - 用户输入 - 写入“当前年份”?

问题描述

如何更改此代码以使其从本地日期获取年龄,而不是使用“今年是哪一年”?

这是我到目前为止所拥有的:

//------------------------------------------------ ----------------

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

  try {
         System.out.println("Please enter your name: ");
            String name = input.nextLine();

         System.out.println("Please enter your birth date: ");
            String date = input.nextLine();

         System.out.println("please enter your birth month:");
            String month = input.nextLine();

         System.out.println("please enter your birth year:");
            String year = input.nextLine();

         System.out.println("please enter current year:");
            String cYear = input.nextLine();


             int bDate = Integer.parseInt(date);
             int bMonth = Integer.parseInt(month);
             int bYear = Integer.parseInt(year);
             int ccYear = Integer.parseInt(cYear);

          int age = ccYear - bYear;
          int totalMonth = 12;
          int yourMonth = totalMonth - bMonth;

    System.out.println(" Hi " + name + " your are " + age + " years  ");
  } catch(Exception e) {
    System.out.println("");
  }
}

标签: java

解决方案


可以使用标准CalendarAPI 获取当前年份。

int year = Calendar.getInstance().get(Calendar.YEAR);

从那里,您只需将其插入代码中的正确位置。


推荐阅读