一尘不染

使用Java编号查找当月的哪一天

java

如何使用一年中的某天找到该月的某天?

例如,第16天是1月16日。第35天是2月4日

我的程序提示输入一年中的某一天(1-365)。

因此输入可以是252天和2017年

我已经为leap年设置了一个布尔值。

我已经使用if语句将其分为12个月(1月-12月EX:如果日期输入是1月的1-31日)。

if(day >=1 && day <=31)
{
   month = 1;
   monthName = "January";
}

我的程序快要完成了,这是我的最后一步,但是我不知道该怎么做。

如何在不使用API​​或导入的情况下使用一年中的一天来查找一个月中的一天?


阅读 287

收藏
2020-12-03

共1个答案

一尘不染

在一个非常基本的方法中,创建一个包含每个月的天数的int数组。

final int[] daysInMonth = new int[] { 31, 28, 31, 30, ... };

然后检查是否是a年,请执行以下操作:

daysInMonth[1]++;  // add an extra day in February

创建一个int变量(称为剩余天数),该变量最初将包含您的输入。并且您的代码应遍历创建的数组,首先检查remainingDays - daysInMonth[i](一个月中的天数)是否大于零。如果是这样,则从剩余的几天中减去该月的天数,然后转到下个月。如果不是,则答案在remainingDays
变量中。

(如您所要求的演练,而不是回答该问题的代码)

2020-12-03