注册 登录
编程论坛 JAVA论坛

有关泽勒一致性算法的问题

ankewlin 发布于 2021-04-12 00:06, 1114 次点击
求大神解解惑 java基础篇3.21练习题
泽勒一致性算法给出的日期“2015年1月25日及2021年5月12日”满足泽勒一致性算法结构,但是2021年4月12日就不满足泽勒一致性算法
这是怎么回事呢?

代码如下

public class Exercise_03_21 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        // Prompt the user to enter a year, month, and day of the month.
        System.out.print("Enter year: (e.g., 2012): ");
        int year = input.nextInt();
        System.out.print("Enter month: 1-12: ");
        int month = input.nextInt();
        System.out.print("Enter the day of the month: 1-31: ");
        int dayOfMonth = input.nextInt();

        // Convert January and February to months 13 and 14 of the previous year
        if (month == 1 || month == 2)
        {
            month = (month == 1) ? 13 : 14;
            year--;
        }

        // Calculate day of the week
        int dayOfWeek = (dayOfMonth + (26 * (month + 1)) / 10 + (year % 100)
                + (year % 100) / 4 + (year / 100) / 4 + 5 * (year / 100)) % 7;

        // Display reslut
        System.out.print("Day of the week is ");
        switch(dayOfWeek)
        {
            case 0: System.out.println("Saturday"); break;
            case 1: System.out.println("Sunday"); break;
            case 2: System.out.println("Monday"); break;
            case 3: System.out.println("Tuesday"); break;
            case 4: System.out.println("Wednesday"); break;
            case 5: System.out.println("Thursday"); break;
            case 6: System.out.println("Friday");
        }
    }
}
0 回复
1