我的公共布尔方法中无法访问的语句

依托

所以我试图创建一个isValid方法,该方法验证某个日期是否为真实日期(即3/31/2016有效,2/29/2001有效,因为它是a年,2/30/2016无效)有效的)

这是我的方法public boolean isValid()

`

{
   //January
    if (month == 1 && day <= 31) {
        return true;
    }
    else {
        return false;
    }

    //February
    if (month == 2 && day <= 28) {
            return true;
    }
    else {
        if ((((year % 4) == 0) && ((year % 100) != 0)) || ((year % 400) == 0)) {
            if (day == 29) {
                return true;
            }
            else {
                return false;
            }
        }
        else {
            return false;
        }
    }

    //March
    if (month == 3 && day <= 31) {
        return true;
    }
    else {
        return false;
    }

    //April
    if (month == 4 && day <= 30) {
        return true;
    }
    else {
        return false;
    }

    //May
    if (month == 5 && day <= 31) {
        return true;
    }
    else {
        return false;
    }

    //June
    if (month == 6 && day <= 30) {
        return true;
    }
    else {
        return false;
    }

    //July
    if (month == 7 && day <= 31) {
        return true;
    }
    else {
        return false;
    }

    //August
    if (month == 8 && day <= 31) {
        return true;
    }
    else {
        return false;
    }

    //September
    if (month == 9 && day <= 30) {
        return true;
    }
    else {
        return false;
    }

    //October
    if (month == 10 && day <= 31) {
        return true;
    }
    else {
        return false;
    }

    //November
    if (month == 11 && day <= 30) {
        return true;
    }
    else {
        return false;
    }

    //December
    if (month == 12 && day <= 31) {
        return true;
    }
    else {
        return false;

    }

}

`

现在,当我编译时,它说无论在哪里说“如果”,实际上都有不可达的语句。有人可以帮忙吗?我已经尝试过'if(true){return}'方法,但找不到其他有用的方法。

凯尔邦德

在您的第一个if语句中,无论结果如何,它都会返回,这意味着以下所有if语句都将永远不会到达,就好像您的第一个条件不满足一样,它也会返回,如果满足,它也会返回。

解决此问题的方法是删除所有else返回假路径,并在else if链中放置所有if语句,然后在末尾返回false。

例如

if(){
    ...
}else if(){
    ...
}
return false;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法访问Java中的View Object(Android)的公共方法

来自分类Dev

我无法访问类中的方法

来自分类Dev

此布尔值无法访问的语句

来自分类Dev

模型布尔方法无法正常工作

来自分类Dev

PHP中无法访问的语句

来自分类Dev

无法访问我的刀片文件中的组件方法

来自分类Dev

在类中插入新的布尔方法

来自分类Dev

Ruby on Rails中的布尔方法

来自分类Dev

在if语句中使用布尔方法遇到麻烦

来自分类Dev

为什么无法访问模块中的此公共功能

来自分类Dev

无法访问“ <init>”:它是“构造函数”中的公共/ * package * /

来自分类Dev

公共子网中的AWS Lambda无法访问Internet

来自分类Dev

无法访问派生类中的公共属性

来自分类Dev

无法访问我班上的方法

来自分类Dev

我无法访问Java中的对象

来自分类Dev

我无法访问Kotlin中的textView

来自分类Dev

为什么我无法访问C#WinForms中的公共属性或用户设置控件?

来自分类Dev

Javacc无法访问的语句

来自分类Dev

无法访问的goto语句

来自分类Dev

无法访问线程run()中的方法

来自分类Dev

无法访问组件方法中的$ refs

来自分类Dev

无法访问线程run()中的方法

来自分类Dev

无法访问Java中的Class方法

来自分类Dev

如何更改方法中布尔方法的值?

来自分类Dev

从基类继承的C ++公共方法无法访问派生类中的私有成员变量

来自分类Dev

无法访问Select语句(MySQL)中的别名列

来自分类Dev

无法访问班级公共财产

来自分类Dev

无法访问 AutoSizeableTextView 公共类 ButtonRenderer

来自分类Dev

在布尔方法C#中返回异常