Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 开关内缺少return语句_Java - Fatal编程技术网

Java 开关内缺少return语句

Java 开关内缺少return语句,java,Java,我有一个返回布尔值的方法。我在switch语句的每一个例子中都添加了return语句,并添加了default,它也返回一个值,但我仍然得到了“缺少的return语句”。 少了什么 private boolean isDateValid () { if ((_day>31) || (_day<=0)) { return true; } if ((_month>12) || (_month

我有一个返回布尔值的方法。我在switch语句的每一个例子中都添加了return语句,并添加了default,它也返回一个值,但我仍然得到了“缺少的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;
            }
    }
专用布尔值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