无法从 int 转换为 boolean。 Java 错误(新案例)
cannot convert from int to boolean. Java Error (New Case)
我在 java 的 TicTacToe
gui 程序中工作。我创建了一个 class PlayerTurn
。为了检查玩家的回合,我在 java 中使用了 player = (player%2) ? 1 : 2;
。我在 C++ 项目中使用过,它运行良好,但在 Java 中出现错误 Type Mismatch : Cannot convert from int to boolean
我已将玩家声明为 int.
您需要将模运算的结果与某物进行比较,因为三元表达式中的条件必须是 boolean
。我猜您想与 1
进行比较:
player = (player%2 == 1) ? 1 : 2;
在三元运算符中:
result = testCondition ? value1 : value2
testCondition
必须是 boolean
值。如果 testCondition
的计算结果为 true
,则 result = value1
。否则,result = value2
.
因此,player = (player%2) ? 1 : 2
不起作用。(类型不匹配:无法从 int 转换为 boolean)(player%2)
是 int,不是 boolean价值。将其更改为:
player = (player%2 == 1) ? 1 : 2
转换为:
Is player%2 == 1?
Yes? Then player = 1
No? Then player = 2
这是一个很好的例子:
min_Val = a < b ? a : b;
我在 java 的 TicTacToe
gui 程序中工作。我创建了一个 class PlayerTurn
。为了检查玩家的回合,我在 java 中使用了 player = (player%2) ? 1 : 2;
。我在 C++ 项目中使用过,它运行良好,但在 Java 中出现错误 Type Mismatch : Cannot convert from int to boolean
我已将玩家声明为 int.
您需要将模运算的结果与某物进行比较,因为三元表达式中的条件必须是 boolean
。我猜您想与 1
进行比较:
player = (player%2 == 1) ? 1 : 2;
在三元运算符中:
result = testCondition ? value1 : value2
testCondition
必须是 boolean
值。如果 testCondition
的计算结果为 true
,则 result = value1
。否则,result = value2
.
因此,player = (player%2) ? 1 : 2
不起作用。(类型不匹配:无法从 int 转换为 boolean)(player%2)
是 int,不是 boolean价值。将其更改为:
player = (player%2 == 1) ? 1 : 2
转换为:
Is player%2 == 1?
Yes? Then player = 1
No? Then player = 2
这是一个很好的例子:
min_Val = a < b ? a : b;