【发布时间】:2019-07-18 11:18:25
【问题描述】:
所以我在 If else 语句上创建了 LeapYearCal,我学习了 switch 语句,我想使用 switch 重新创建它。 不知何故,我的跳跃条件正在起作用,但我想添加条件,比如值必须在 1-9999 之间,否则它会返回 false。但是当我的代码不正确时,我该如何解决这个问题?
public static boolean isLeapYear(int year)
{
switch ( year % 4)
{
case 0:
if (year % 100 == 0)
{
if ( (year % 400 == 0) )
{
if (year > 0)
{
if (year <= 9999)
{
return true;
}
else
return false;
}
else
return false;
}
else
return false;
}
else
return true;
default:
break;
}
return false;
如果年份是闰年并且它的范围是 1-9999,我想输出“True”,如果它不在范围内,不管它是否是闰年,我想输出“False”
【问题讨论】:
-
首先,清理你的代码。那里有太多的回报和障碍。其次,重新检查你的逻辑。第三:你输入了什么输入,你期望/得到什么输出?
-
哪里失败了?
-
IMO,这不是学习 switch 的好用例。
-
@TaslimOseni 没有。这对于单元测试来说将是一项了不起的任务,因为每个可能的值都可以在没有代码的情况下评估为闰年与否。闰年的规则很简单
-
@ArielTabuzoJr。有两个位置返回 true。手动尝试您的代码,看看执行了什么
标签: java if-statement switch-statement