我正在尝试根据算术运算符的输入打印结果
double n1= 45;
double n2= 9;
double result = (mathOperator == '/') ? n1/n2 :
(mathOperator == '+') ? n1+n2 :
(mathOperator == '-') ? n1-n2 :
(mathOperator == '*') ? n1*n2;
System.out.println(result);
但是我在三元行末尾收到一条带有分号的错误消息
任何人都可以帮我理解,我错在哪里吗?
三元运算符如何工作
(condition) ? (do when condition is true) : (do when condition is false);
现在,在您的代码中,所有其他运算符都满足上述条件,但对于乘法,缺少
else
部分。
所以你可以这样结束你的状况
mathOperator =='*'? n1*n2 : 0;
更好的方法是
mathOperator =='*'? n1*n2 : Double.NaN;