使用三元运算符解决多个条件
use ternary operator to solve multiple conditions
谁能帮我解决这个问题。没用。
看这里:
class Question05
{
public static void main(String[] args)
{
double gpa = Double.parseDouble(args[0]);
String res = gpa >= 3.6?"First class Hons":(gpa<3.6 && gpa>=3.4?"Upper Second Class Hons": (gpa<3.4 && gpa>=3.0?"Lower Second Class Hons": (gpa<3.0 && gpa>=2.0?"Pass":"you have failed")));
System.out.println(res);
}
}
编辑:@veena,您试图将一个字符串分配给 gpa,该字符串被声明为双精度!!!
我之前有过这个问题,有几种方法,具体取决于你对这个问题的意思...
由于它看起来确实是一个 class 作业,我将给出我自己的例子而不是修复你的例子。
场景一:
如果您想有多个通过条件,请考虑以下...
为了安全起见,将条件括在括号中,并使用逻辑分隔符。
例如:
(1==1 && 2==2)?"yay":"sadness"
https://jsfiddle.net/o4nu3ya5/
场景二:
如果您想根据以前的条件验证条件,请考虑以下...
只需将一个三元组放在一个三元组中,可能称为嵌套三元组?
例如:
1==1?2==2?"sweet":"almost":"not close"
https://jsfiddle.net/o4nu3ya5/1/
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
三元超级有趣。习惯它们,虽然可以理解,但它们会使很多开发人员感到沮丧,因为它们更难阅读。
谁能帮我解决这个问题。没用。
看这里:
class Question05
{
public static void main(String[] args)
{
double gpa = Double.parseDouble(args[0]);
String res = gpa >= 3.6?"First class Hons":(gpa<3.6 && gpa>=3.4?"Upper Second Class Hons": (gpa<3.4 && gpa>=3.0?"Lower Second Class Hons": (gpa<3.0 && gpa>=2.0?"Pass":"you have failed")));
System.out.println(res);
}
}
编辑:@veena,您试图将一个字符串分配给 gpa,该字符串被声明为双精度!!!
我之前有过这个问题,有几种方法,具体取决于你对这个问题的意思... 由于它看起来确实是一个 class 作业,我将给出我自己的例子而不是修复你的例子。
场景一:
如果您想有多个通过条件,请考虑以下...
为了安全起见,将条件括在括号中,并使用逻辑分隔符。
例如:
(1==1 && 2==2)?"yay":"sadness"
https://jsfiddle.net/o4nu3ya5/
场景二:
如果您想根据以前的条件验证条件,请考虑以下...
只需将一个三元组放在一个三元组中,可能称为嵌套三元组?
例如:
1==1?2==2?"sweet":"almost":"not close"
https://jsfiddle.net/o4nu3ya5/1/
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
三元超级有趣。习惯它们,虽然可以理解,但它们会使很多开发人员感到沮丧,因为它们更难阅读。