if else语句错误,因为它说它不是一个声明

时间:2017-06-25 20:04:50

标签: java

我是java编程的新手,我正在尝试编程,但是,我在If Else语句中遇到错误。有人可以调查并帮助我。

 public Effort getStep(int value) {
        if (value < mGreenStep)
            return Effort.GURU;
        else  (value < mYelloStep)
            return Effort.WALKING;

    }
}

I get an error which says error: ';' expected 

有人可以帮我解决这个if else声明。

5 个答案:

答案 0 :(得分:2)

只有else无条件或else if有条件,请参阅"The if-then and if-then-else Statements"

没有条件:

public Effort getStep(int value) {
    if (value < mGreenStep)
        return Effort.GURU;
    else
        return Effort.WALKING;
}

条件:

public Effort getStep(int value) {
    if (value < mGreenStep)
        return Effort.GURU;
    else if (value < mYelloStep)
        return Effort.WALKING;
    // missing default
}

请注意,第二个版本将不会编译,因为您已声明返回Effort,但没有分支涵盖value < mGreenStepvalue < mYelloStep都不是{{1}的情况},所以你还需要额外的true

作为旁注:虽然使用else / if语句而不使用括号(else)是有效的,但强烈建议您始终包含它们:

{}

(我忽略了代码中的额外public Effort getStep(int value) { if (value < mGreenStep) { return Effort.GURU; } else { return Effort.WALKING; } } ,因为这可能只是来自复制和粘贴)

答案 1 :(得分:1)

在if-else块中,else语句没有条件。如果要添加条件,请将其更改为if-else if语句。

else if (value < mYelloStep)
    return effort.WALKING;
else
    return null;

答案 2 :(得分:0)

如果(condn)请使用else。在java中,如果你使用单个else,那么它意味着上述条件都没有得到满足,但除非你使用else-if,否则它永远不会被条件所遵循。

..
else if (value < mYellowStep)
return effort.WALKING;
}

simply use
..
else
 return effort.WALKING
}

答案 3 :(得分:0)

你有其他条件。

尝试使用else if

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html

答案 4 :(得分:0)

if-else的语法是错误的,应该有一个if在else之后。以下是if-else语句的正确语法

public Effort getStep(int value) {
    if (value < mGreenStep)
        return Effort.GURU;
    else if (value < mYelloStep)
        return Effort.WALKING;
    return null;
}
在代码中

正确的语法是

date = (params[:increment].to_i + 1).days.ago
Article.where(created_at: date.all_day).reverse