为什么Java不允许在这里使用三元运算符?



而不是键入:

if (Math.random() < .5) {
System.out.println("toto");
} else {
System.out.println("tata");
}

我会发现用来代替它是有用的,也是合乎逻辑的

Math.random() < .5 ? System.out.println("toto") : System.out.println("tata");

但是,我得到了错误not a statement。我不明白这怎么会成为一个问题。

因为三元运算符为变量赋值。更改为:

String toPrint = Math.random() < .5 ? "toto" : "tata";
System.out.println(toPrint);

最新更新