当前位置: 首页 > 知识库问答 >
问题:

查找初一(新年)指数

宋育
2023-03-14

我是一个新手程序员,正在尝试制作日历(家庭作业的一部分)。我已经完成了所有其他的工作,但是我发现新年指数(从0到6)每年向右移动一次,除了闰年后的一年,每年向右移动两次。我对这一部分没有一个好的算法,所以我只是想了想。它可以计算并工作到1800,但在那之后它就不能正常工作了。我不知道为什么。但代码如下:

公共静态int indexOfNewYear(int月,int年){

    int count = 0;
    int modOfDays = 0;
    int numberOfDays = 365;

    year = year - 2; // starts with year 2 because index of New Year is 0

    for (int t = 1; t <= year; year--){

        if(year + 2 == 1753){ // year 1752 skipped 11 days ahead
            numberOfDays += 10;
        } 

        count = modOfDays + numberOfDays;
        modOfDays = count  % 7;     

        if((year + 1) %  4 == 0 && year != 1){ // leap year skips two indexes
            modOfDays += 1;
        }
    }

    //System.out.println("modOfDays: " + modOfDays);
    return modOfDays;
}

任何帮助都非常感谢!

共有1个答案

汪泓
2023-03-14

看看你是如何计算闰年的——如果你使用的是公历,闰年只出现在可以被4整除的年份上,除了可以被100整除的年份,除非年份也可以被400整除。

因此,1900年(可被100整除,但不能被400整除)是一个普通的年份,而2000年(可被100和400整除)是闰年。

把这个逻辑运用到计算闰年的过程中。

 类似资料:
  • 找到一年是不是飞跃有点棘手。 我们通常假设如果一年的数字可以被4整除,那就是闰年。 但这不是唯一的例子。 一年是闰年,如果 - 它可以被100整除 如果它可以被100整除,那么它也应该被400整除 除此之外,所有其他可被4整除的年份都是闰年。 让我们看看如何创建一个程序来查找一年是否跳跃。 算法 (Algorithm) 该程序的算法是 - START Step 1 → Take intege

  • 本文向大家介绍在JavaScript中查找闰年和非闰年中的第n天,包括了在JavaScript中查找闰年和非闰年中的第n天的使用技巧和注意事项,需要的朋友参考一下 问题 我们需要编写一个JavaScript函数,将数字作为第一个参数,布尔值作为第二个参数。 布尔值指定闰年(如果为真)。基于这些信息,我们的函数应该返回一年中第 n 天的日期。 示例 以下是代码- 输出结果 以下是控制台输出-

  • 查找数组是指从数组中查询指定位置的元素,或者查询某元素在指定数组中的位置。使用 Arrays 类的 binarySearch() 方法可以实现数组的查找,该方法可使用二分搜索法来搜索指定数组,以获得指定对象,该方法返回要搜索元素的索引值。 binarySearch() 方法有多种重载形式来满足不同类型数组的查找需要,常用的重载形式有两种。 (1) 第一种形式如下: 其中,a 表示要搜索的数组,ke

  • 问题内容: 当我想在mysql表中设置数值+1时,我使用例如: 如何设置日期+一年? 谢谢 问题答案: 您可以使用DATE_ADD:(或将ADDDATE与一起使用)

  • 本文向大家介绍在JavaScript中寻找下一个leap年,包括了在JavaScript中寻找下一个leap年的使用技巧和注意事项,需要的朋友参考一下 我们需要编写一个函数,该函数需要一个正整数n并返回下一个n个leap年的数组。我们将把这个问题分为三个部分- 第1部分:通过JS查找当前年份 通过JS查找当前年份的代码将是- 第2部分:检查leap年 现在,我们将编写一个isLeap()函数,该函

  • 问题内容: 我有Mongoose架构,其中有一个天属性 我想查找输入的最后一天的数据,所以说今天就是我要查找输入的最后一天。或者说另一种说法。什么是属性小于等于但大于所有其他文档的文档呢? 或另一种方式 属性小于等于的所有文档集中的最大元素是什么 然后遍历我所有的文档,我该怎么做呢? 问题答案: 在外壳中将是: 查找所有小于16085 的文档,对它们进行降序排序,然后采用第一个。 在Mongoos