HOWTO · Java
Java で Zellers Congruence を使用して曜日を見つける
このチュートリアルでは、Java で Zellers 合同を使用して曜日を見つける方法について説明します。
この記事では、Java を使用して Zeller の合同式を実装し、曜日を見つける方法を示します。 また、トピックを簡単にするために、行ごとの説明を含む例を見ていきます。
Java で Zeller の合同式を使用して曜日を見つける
この記事で使用しているアルゴリズムは、前年の 1月 を 13 として、2月 を 14 として数えることです。
たとえば、日付が 2009 年 1 月 13 日 の場合、アルゴリズムはそれを 2008 年の 13 番目の月 としてカウントします。 次のコード フェンスでは、1 週間の日を見つける方法を示します。
コード例:
public class FindDay {
// A method to print a day for a Date
static void ZellerCongruence(int Day, int Month, int Year) {
if (Month == 1) { // Checking the month if it's "January"
Month = 13;
Year--;
}
if (Month == 2) { // Checking the month if it's "February"
Month = 14;
Year--;
}
int DD = Day;
int MM = Month;
int yy = Year % 100;
int YY = Year / 100;
// Calculating the day
int Calc = DD + 13 * (MM + 1) / 5 + yy + yy / 4 + YY / 4 + 5 * YY;
Calc = Calc % 7; // Finding the day
switch (Calc) {
case 0:
System.out.println("The day is: Saturday");
break;
case 1:
System.out.println("The day is: Sunday");
break;
case 2:
System.out.println("The day is: Monday");
break;
case 3:
System.out.println("The day is: Tuesday");
break;
case 4:
System.out.println("The day is: Wednesday");
break;
case 5:
System.out.println("The day is: Thursday");
break;
case 6:
System.out.println("The day is: Friday");
break;
}
}
// Our main class
public static void main(String[] args) {
ZellerCongruence(20, 9, 2022); // The date format is (dd/mm/yyyy)
}
}
各行の目的についてはすでに説明しました。 したがって、上記のサンプル コードを実行すると、コンソールに以下の出力が表示されます。
The day is: Tuesday