你能帮我理解我在做错的地方。 我在做初学者java材料的同时讨论这个问题。
问题: - 显示如何使用?重写此序列?操作者 if(x <0)y = 10;否则y = 20;
答案: - x&lt; 0? y = 10:y = 20;
但是,当我尝试执行相同操作时,我收到了错误
public class Ternary {
public static void main(String[] args) {
int result, x, y;
result = x < 0 ? y =10 : y =20;
System.out.println(result);
}
}
结果出错: - 此行有多个标记 - 不兼容的条件操作数类型int和 布尔 - 令牌上的语法错误&#34; =&#34;,!=期望
答案 0 :(得分:1)
当您使用三元运算符时,您将最左侧的变量分配给条件的结果。换句话说,你只需要两个变量(我将使用结果和x)。
所以代码应该是:
result = x&lt; 0? 10:20;
如果x&lt;
这将设置结果= 10。 0其他结果将是20!
答案 1 :(得分:0)
替换这样的代码。它会起作用。
public static void main(String[] args) {
int result, y;
int x = -1;
// Next try with int x = 1;
result = x < 0 ? (y = 10) : (y = 20);
System.out.println(result);
}