看看下面的java代码。
String Remark="";
boolean Paid, PartiallyPaid, NotPaid;
if(Paid=true) {Remark="Paid";}
if(PartiallyPaid=true) {Remark="Partially Paid";}
if(NotPaid=true) {Remark="Not Paid";}这里是由RadioButtons确定的布尔值。我想指定上面提到的字符串“注释”。但它总是只给出最后的赋值(作为“未支付”)。有人解释为什么会发生这种事吗?
发布于 2014-08-08 14:45:00
比较时使用==而不是=。
==用于比较两个相等的值。
=用于将一个值分配给另一个值。
String Remark="";
boolean Paid, PartiallyPaid, NotPaid; // initialise values else compile error, pointed out by Peter O.
if(Paid==true) {Remark="Paid";}
if(PartiallyPaid==true) {Remark="Partially Paid";}
if(NotPaid==true) {Remark="Not Paid";}正如非霍利采样器指出的
对于布尔值,您不必显式检查是否相等。下面就可以了
String Remark="";
boolean Paid, PartiallyPaid, NotPaid; // initialise values else compile error, pointed out by Peter O.
if(Paid) {Remark="Paid";}
if(PartiallyPaid) {Remark="Partially Paid";}
if(NotPaid) {Remark="Not Paid";}发布于 2014-08-08 14:44:53
在这里,if(Paid=true)应该是if(Paid==true)。其他类似的案子也是一样的。=是任务。你所付出的是true的价值。==是对原语类型等价性的测试。它应该是这样的:
String Remark="";
boolean Paid, PartiallyPaid, NotPaid;
if(Paid) {
Remark="Paid";
} else if(PartiallyPaid) {
Remark="Partially Paid";
} else if(NotPaid) {
Remark="Not Paid";
}然而,你的布尔人目前都是假的。同时,这可能是三种选择,这不是个好主意。您应该在Java文档中查找if/else语句。
发布于 2014-08-08 14:45:13
您必须在if语句中使用double等于。
https://stackoverflow.com/questions/25206127
复制相似问题