Java 为什么我的三元布尔运算符显示相反的结果
三元运算符不应该用作arg吗?真:假???因此,如果持续时间和石油量大于字段变量的规定量,则应返回true。。但结果却是falseJava 为什么我的三元布尔运算符显示相反的结果,java,boolean,return,operator-keyword,ternary,Java,Boolean,Return,Operator Keyword,Ternary,三元运算符不应该用作arg吗?真:假???因此,如果持续时间和石油量大于字段变量的规定量,则应返回true。。但结果却是false public class test12 { int duration = 260; int petroleum = 300; boolean result; public void checktrain(){ boolean result = duration>=250 && petroleum
public class test12 {
int duration = 260;
int petroleum = 300;
boolean result;
public void checktrain(){
boolean result = duration>=250 && petroleum>=235? true : false;
this.result = result;
}
public void run(){
System.out.print(result);
}
public static void main(String args[]){
test12 tr = new test12();
tr.run();
}
}
结果是
false
,因为您从未调用过方法checktrain
,成员变量结果的默认值是false结果是false
,因为您从未调用方法checktrain
,成员变量结果的默认值是false您忘记了调用checktrain()
。使其保持布尔值的默认值false
尝试调用该方法
public static void main(String args[]){
test12 tr = new test12();
tr.checktrian();
tr.run();
}
检查训练方法可以简单地写为
public void checktrain(){
this.result= duration>=250 && petroleum>=235;
}
甚至可以通过编写
public boolean checktrain(){
return duration>=250 && petroleum>=235;
}
您忘记调用checktrain()
。因此它保持布尔值的默认值false
尝试调用该方法
public static void main(String args[]){
test12 tr = new test12();
tr.checktrian();
tr.run();
}
检查训练方法可以简单地写为
public void checktrain(){
this.result= duration>=250 && petroleum>=235;
}
甚至可以通过编写
public boolean checktrain(){
return duration>=250 && petroleum>=235;
}
根本不需要三元运算符。您只需执行布尔结果=持续时间>=250&&petroleum>=235
。根本不需要三元运算符。您只需执行boolean result=duration>=250&&petroleum>=235
。