日付やその他の方法を使用せずに、Javaで曜日を見つけたい.2つの日付間の日差を見つけることができますが、特定の日付がどの曜日であるかを見つける方法がわかりません.
3 に答える
2 日間の日差がわかる場合は、mod 演算子を使用してください。
たとえば、 がわかっている場合、day1 = Monday
701 日後の今日が何日かを知りたい場合は、 ですMonday + 701 % 7 = Monday + 1 = Tuesday
。
特定の日が何曜日であるかを計算するための式があります。
http://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week#Purely_mathematical_methods
選択したアプローチは非常に複雑で、エラーが発生しやすいようです。
Dateという名前の独自のクラスを作成することをお勧めします。
日付には、月、日、および年が含まれ、日を減算または加算する方法がわかります。
また、別の日付と同じか、前か、後かを判断できる必要があります。
各月の日数を表すには、int の配列を使用する必要があります。
この配列は、Date クラスのプライベートな静的フィールドにすることができます。
次に、date2 を表すクラスのインスタンスを作成し、date1 と等しくなるまで一度に 1 日ずつ減算します。
同様のアプローチを使用して、入力日付を基準日と既知の曜日と比較することにより、曜日を判別できます。
これは、あなたのインストラクターがこの課題のために意図したものであると確信しています.
これは貴重な教訓を教えてくれます。
一連のif ステートメントを使用する代わりに、オブジェクトを利用してカプセル化を使用します。