ちょっと私はこのwhileループを持っています。このループは、日付の有効な入力をチェックしています。このループにチェックを追加する必要があります。うるう年の日が28日を超えることはできません。また、うるう年の場合は月が2月の場合は29日を超えることはできません。月= 2を意味します。whileループ内でうるう年のチェックを追加する
どうすればいいですか?私はその閏年が私はこの声明を使用するかどうかを確認することを知っています:if ((year%4 == 0 && year%100 !=0) || (year%400 == 0))
。
はここに私のループです:
while ((day>31 || day<=0) || (month>12 || month<=0) || (year<=0))
{
System.out.println("The original date/month/year is invaild");
System.out.println("Please enter 3 integers to represent a valid date:");
day = scan.nextInt();
month = scan.nextInt();
year = scan.nextInt();
}
ところで、私は任意のメソッドやクラスを使用傾ける、それが宿題です。
あなたが「どのメソッドやクラスも使用できません」と言うときには、おそらくあなた自身の*メソッドを書くことができますか?それは私がやっていることです。すべてを一つの巨大な状態に置くことはしないで、 'isValidDate(int year、int month、int day)'メソッドを書いてください。 –
カレンダーを使用して、月の実際の最大値を取得します。 https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html –
@mrmcwolf私は、ここで明確な部分があると思います。彼は自分自身の日付検証を書くことになっています。宿題です。あなたは基本的に彼にその中核*の部分を騙すように言っています。 – GhostCat