Java三元运算符和相同变量赋值

时间:2016-12-28 22:18:28

标签: java syntax-error ternary-operator

我正在创建一个类作为主干,用于在游戏中创建具有持久性的项目(很像Minecraft中的选择或剑),并在创建包含三元运算符的方法时遇到错误:

<input type="text" name="x" list="list"/>
<datalist id="list">
<option>a</option>
<option>b</option>
</datalist>

此代码在“&gt;”处抛出错误Eclipse中的运算符,说“令牌上的语法错误”&gt;“, - &gt;期望。”为了澄清,newMax是将变量maxDurability设置为的新的最大延迟,但它不能大于常量MAX_DURABILITY。所有类型都是int(并且常量是final),所以我不明白问题是什么。

我设法使用

来使用该方法
public void setMaxDurability(int newMax) {
    newMax > MAX_DURABILITY ? maxDurability = MAX_DURABILITY : maxDurability = newMax;
}

但我想知道为什么第一个代码块不起作用。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

应该是:

public void setMaxDurability(int newMax) {
    maxDurability = newMax > MAX_DURABILITY ? MAX_DURABILITY : newMax;
}