我需要更改布尔变量的值,例如:
改变这个:
boolean x = true;
System.out.print(x); //console: true
为此:
boolean x = true;
System.out.print(x); //console: 1
这是我的代码:
final boolean[] BOOLEAN_VALUES = new boolean [] {true,false};
for (boolean a : BOOLEAN_VALUES) {
boolean x = negation(a);
String chain = a+"\t"+x;
chain.replaceAll("true", "1").replaceAll("false","0");
System.out.println(chain);
}
negation is a method:
public static boolean negation(boolean a){
return !a;
}
正如您所看到的,我尝试使用.replaceAll
,但它不起作用,当我执行时,这是输出:
a ¬a ---------------- true false false true
我真的没有看到我的错误。
答案 0 :(得分:2)
System.out.println(x ? 1 : 0);
应该做的伎俩,如果是真的话基本上是1,否则是0
答案 1 :(得分:1)
有两种方式:
if-else
,用于检查x
是true
还是false
。
if (x) {
System.out.println(1);
} else {
System.out.println(0);
}
注意: if (x)
与if (x == true)
相同。
三元组:
System.out.println(x ? 1 : 0);
检查x
是true
是1
,如果是,则会打印0
,否则会打印{{1}}。我推荐三元一个,因为它更短,有助于代码清晰。
答案 2 :(得分:0)
现在我找到了解决方案,我只是错过了匹配变量:
chain = chain.replaceAll("true", "1").replaceAll("false","0");
现在这已经解决了,谢谢你的答案。