Java 开关内缺少return语句
我有一个返回布尔值的方法。我在switch语句的每一个例子中都添加了return语句,并添加了default,它也返回一个值,但我仍然得到了“缺少的return语句”。 少了什么Java 开关内缺少return语句,java,Java,我有一个返回布尔值的方法。我在switch语句的每一个例子中都添加了return语句,并添加了default,它也返回一个值,但我仍然得到了“缺少的return语句”。 少了什么 private boolean isDateValid () { if ((_day>31) || (_day<=0)) { return true; } if ((_month>12) || (_month
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;
}
}
专用布尔值isDateValid()
{
如果(|天>31)| |(|天12)| |(|月9999)| |(|年一月)
返回true;
打破
案例2:
如果((_年%400==0)|(_年%4==0)&(_年%100!=0)))
{
如果(天>二月)
返回true;
}
否则(天>二月)
返回true;
打破
案例3:
如果(天>三月)
返回true;
打破
案例4:
如果(天>四月)
返回true;
打破
案例5:
如果(_day>MAY)
返回true;
打破
案例6:
如果(_day>JUNE)
返回true;
打破
案例7:
如果(天>七月)
返回true;
打破
案例8:
如果(天>八月)
返回true;
打破
案例9:
如果(天>九月)
返回true;
打破
案例10:
如果(_day>10月)
返回true;
打破
案例11:
如果(_day>11月)
返回true;
打破
案例12:
如果(_天>12月)
返回true;
打破
默认:返回false;
}
}
考虑一下这种情况:
case 3:
if (_day>MARCH)
return true;
break;
仅当条件为真时才返回值
相反,写
case 3:
return _day>MARCH;
如果满足条件,则返回true,否则返回false
这同样适用于所有you case子句。请考虑以下情况:
case 3:
if (_day>MARCH)
return true;
break;
仅当条件为真时才返回值
相反,写
case 3:
return _day>MARCH;
如果满足条件,则返回true,否则返回false
这同样适用于所有您的case子句。因为您在case语句中使用了if(如果if表达式不匹配,则该方法将不会有任何返回值) 案例3: 如果(天>三月) 返回true;
中断;,因为您在case语句中使用了if(如果if表达式不匹配,则方法将不会有任何返回值)
Add `return false;` above the last bracket `}` and replace each `break;` statement
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;
return false;
case 2:
if ((_year % 400 == 0) || ((_year % 4 == 0) && (_year % 100 != 0)))
{
if (_day>FEBRUARY_LEAP)
return true;
}
else if (_day>FEBRUARY)
return true;
return false;
case 3:
if (_day>MARCH)
return true;
return false;
case 4:
if (_day>APRIL)
return true;
return false;
case 5:
if (_day>MAY)
return true;
return false;
case 6:
if (_day>JUNE)
return true;
return false;
case 7:
if (_day>JULY)
return true;
return false;
case 8:
if (_day>AUGUST)
return true;
return false;
case 9:
if (_day>SEPTEMBER)
return true;
return false;
case 10:
if (_day>OCTOBER)
return true;
return false;
case 11:
if (_day>NOVEMBER)
return true;
return false;
case 12:
if (_day>DECEMBER)
return true;
return false;
default: return false;
}
return false;
}
案例3:
如果(天>三月)
返回true;
break;在最后一个括号`}上方添加`return false;`并替换每个`break;`语句
Add `return false;` above the last bracket `}` and replace each `break;` statement
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;
return false;
case 2:
if ((_year % 400 == 0) || ((_year % 4 == 0) && (_year % 100 != 0)))
{
if (_day>FEBRUARY_LEAP)
return true;
}
else if (_day>FEBRUARY)
return true;
return false;
case 3:
if (_day>MARCH)
return true;
return false;
case 4:
if (_day>APRIL)
return true;
return false;
case 5:
if (_day>MAY)
return true;
return false;
case 6:
if (_day>JUNE)
return true;
return false;
case 7:
if (_day>JULY)
return true;
return false;
case 8:
if (_day>AUGUST)
return true;
return false;
case 9:
if (_day>SEPTEMBER)
return true;
return false;
case 10:
if (_day>OCTOBER)
return true;
return false;
case 11:
if (_day>NOVEMBER)
return true;
return false;
case 12:
if (_day>DECEMBER)
return true;
return false;
default: return false;
}
return false;
}
私有布尔值isDateValid()
{
如果(|天>31)| |(|天12)| |(|月9999)| |(|年一月)
返回true;
返回false;
案例2:
如果((_年%400==0)|(_年%4==0)&(_年%100!=0)))
{
如果(天>二月)
返回true;
}
否则(天>二月)
返回true;
返回false;
案例3:
如果(天>三月)
返回true;
返回false;
案例4:
如果(天>四月)
返回true;
返回false;
案例5:
如果(_day>MAY)
返回true;
返回false;
案例6:
如果(_day>JUNE)
返回true;
返回false;
案例7:
如果(天>七月)
返回true;
返回false;
案例8:
如果(天>八月)
返回true;
返回false;
案例9:
如果(天>九月)
返回true;
返回false;
案例10:
如果(_day>10月)
返回true;
返回false;
案例11:
如果(_day>11月)
返回true;
返回false;
案例12:
如果(_天>12月)
返回true;
返回false;
默认:返回false;
}
返回false;
}
在最后一个括号`}上方添加`return false;`并替换每个`break;`语句
私有布尔值isDateValid()
{
如果(|天>31)| |(|天12)| |(|月9999)| |(|年一月)
返回true;
返回false;
案例2:
如果((_年%400==0)|(_年%4==0)&(_年%100!=0)))
{
如果(天>二月)
返回true;
}
否则(天>二月)
返回true;
返回false;
案例3:
如果(天>三月)
返回true;
返回false;
案例4:
如果(天>四月)
返回true;
返回false;
案例5:
如果(_day>MAY)
返回true;
返回false;
案例6:
如果(_day>JUNE)
返回true;
返回false;
案例7:
如果(天>七月)
返回true;
返回false;
案例8:
如果(天>八月)
返回true;
返回false;
案例9:
如果(天>九月)
返回true;
返回false;
案例10:
如果(_day>10月)
返回true;
返回false;
案例11:
如果(_day>11月)
返回true;
返回false;
案例12:
如果(_天>12月)
返回true;
返回false;
默认:返回false;
}
返回false;
}
只是想让你知道,如果你从一个切换案例中返回
,你也不需要担心break
ing。为什么你所有的案例语句都有break;
?如果要到达返回的话,提示他们不需要break
。除此之外。如果所有的if都不去,切换不去编译器不会在语句内部执行und