我是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声明。
答案 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 < mGreenStep
和value < 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)
答案 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