如何使用当年的某一天找到当月的日期?
例如,第16天是1月16日。第35天是2月4日
我的节目提示一年中的一天(1-365)和一年。
因此输入可以是第252天和2017年
我已经为闰年初始化了一个布尔值。
我已经将这个分为12个月(1月 - 12月EX:如果输入的日期是1月1 - 31日),使用if语句。
if(day >=1 && day <=31)
{
month = 1;
monthName = "January";
}
我的程序差不多完成了,这是我的最后一步,但我不知道该怎么做。
如何在不使用API或导入的情况下,在一年中使用白天查找一个月的日期?
答案 0 :(得分:2)
在一个非常基本的方法中,创建一个包含每个月天数的int数组。
final int[] daysInMonth = new int[] { 31, 28, 31, 30, ... };
然后检查是否是闰年,请执行:
daysInMonth[1]++; // add an extra day in February
创建一个最初将包含输入的int变量(称为remainingDays)。
并且您的代码应循环遍历创建的数组,首先检查remainingDays - daysInMonth[i]
(月中的天数)是否大于零。如果是,则从剩余的天数中减去该月的天数,然后转到下个月。如果不是,那么您的答案就在remainingDays
变量中。
(正如您所说的那样,而不是回答该问题的代码)