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

我是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声明。

它或者只是没有条件,或者else if有条件,请参阅“if-then和if-then-else语句” 。

没有条件:

 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 < mYelloSteptrue ,因此您还需要其他else

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

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

(我在你的代码中忽略了额外的}因为这可能只是来自复制和粘贴)

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

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

你有其他条件。

尝试使用else if

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

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

即。

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

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

 int testscore = 76; char grade; if (testscore >= 90) { grade = 'A'; } else if (testscore >= 80) { grade = 'B'; } else if (testscore >= 70) { grade = 'C'; } else if (testscore >= 60) { grade = 'D'; } else { grade = 'F'; } 

在你的代码中,正确的语法是

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