嗨我是相当新的Java,我正在处理作为日历工作的代码。我以为我已经完成了它,但日子似乎仍然是31,而不是根据if/else语句改变。这里是代码:为什么我的int值不会改变?
public int maxDaysInMonth(int year, int month)
{
boolean A = (year % 4 == 0) || ((year%4==0) && (year % 100 != 0));
int days = 0;
int iMonth = 0;
if(iMonth == 4 || iMonth == 6 || iMonth == 9 || iMonth == 11)
{
days = 30;
}
else if (iMonth == 1 || iMonth == 3 || iMonth == 5 || iMonth == 7 || iMonth == 8 || iMonth == 10 || iMonth == 12)
{
days = 31;
}
if (A == true && iMonth == 2)
{
days = 29;
}
else if (A == false && iMonth == 2)
{
days = 28;
}
return days;
}
任何帮助非常感谢!
你缺少'iMonth = month'任务 –
或者只是消除'iMonth'并使用'month'来代替。 –
这是一个非常好的机会,可以熟悉使用调试器。使用Java调试器,您可以在执行时逐行执行代码,并观察运行时值和行为。这将允许您确定您的逻辑是否按预期工作,并具体找到它所做的事情。发生这种情况时可以看到运行时间值。哪些信息可供您用来诊断问题以及我们如何帮助您。 – David