gpt4 book ai didi

java - switch 内缺少 return 语句

转载 作者:行者123 更新时间:2023-12-01 18:00:50 24 4
gpt4 key购买 nike

我有一个返回 boolean 值的方法。我在 switch 语句的每种情况下都添加了 return 语句,并添加了默认值,它也返回一个值,但我仍然收到“缺少 return 语句”。缺少什么?

private boolean isDateValid ()
{
if ((_day>31) || (_day<=0))
{
return true;
}
if ((_month>12) || (_month<=0))
{
return true;
}
if ((_year>9999) || (_year<1000))
{
return true;
}
switch (_month)
{
case 1:
if (_day>JANUARY)
return true;
break;
case 2:
if ((_year % 400 == 0) || ((_year % 4 == 0) && (_year % 100 != 0)))
{
if (_day>FEBRUARY_LEAP)
return true;
}
else if (_day>FEBRUARY)
return true;
break;
case 3:
if (_day>MARCH)
return true;
break;
case 4:
if (_day>APRIL)
return true;
break;
case 5:
if (_day>MAY)
return true;
break;
case 6:
if (_day>JUNE)
return true;
break;
case 7:
if (_day>JULY)
return true;
break;
case 8:
if (_day>AUGUST)
return true;
break;
case 9:
if (_day>SEPTEMBER)
return true;
break;
case 10:
if (_day>OCTOBER)
return true;
break;
case 11:
if (_day>NOVEMBER)
return true;
break;
case 12:
if (_day>DECEMBER)
return true;
break;
default: return false;
}
}

最佳答案

考虑这种情况:

case 3:
if (_day>MARCH)
return true;
break;

仅当条件为真时才返回一个值。

相反,写

case 3:
return _day>MARCH;

如果满足条件,则返回 true,否则返回 false。

这同样适用于所有的 case 条款。

关于java - switch 内缺少 return 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41084379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com