まず最初に、私は大学で Java を学び始めたばかりであることを皆さんにお知らせしたいと思います。ですから、初心者としての間違いをお許しください。
基本的に、このコードで達成したいことは、スキャナー関数を使用して誰かの年齢を計算することです。誰かが生年月日 (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);