为什么我不能继续使用? :运营商:
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
// Print all the array elements
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
// Finding the largest element
double max = myList[0];
for (int i = 1; i < myList.length; i++) {
myList[i] > max ? max = myList[i] : continue ;
}
System.out.println("Max is " + max);
}
}
答案 0 :(得分:1)
三元运算符不起作用。它用于根据布尔表达式返回两个值中的一个。
x = statement ? value1 : value2
如果那不是您想要的,那么请使用简单的if else
语句。只需替换为:
for (int i = 1; i < myList.length; i++) {
if(myList[i] > max)
max = myList[i]
}
如果您愿意,还可以查看.max()
:
Arrays.stream(myList).max()
以及它如何运作的更多内容:Java 8 stream's .min() and .max(): why does this compile?
答案 1 :(得分:0)
三元运算符就像这种方法一样:
public static <R> R ternaryOperator(boolean condition, R onTrue, R onFalse) {
if (condition == true) {
return onTrue;
} else {
return onFalse;
}
}
你认为你能写出这样的东西吗?
ternaryOperator(myList[i] > max, max = myList[i], continue)
答案 2 :(得分:-2)
使用普通if
语句,因为三元运算符返回值。