Java で Zellers Congruence を使用して曜日を見つける
MD Aminul Islam
2023年10月12日
この記事では、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
著者: MD Aminul Islam
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn