java - 和 运算符在 else id block 中使用时不起作用

标签 java

我有一个代码块,它检查复选框的选中状态并相应地显示值, 但在我的代码中我有一个地方必须使用像

这样的语句
if (cb1.isChecked()) {
a="abc";        
} 

else if(cb1.isChecked() && cb2.isChecked()) {
a="pqr";
}

else if(cb2.isChecked()){
a="asd";
}

else{
a="xyz";
}

如果选择了 checkbox1 或 checkbox2,我会得到值,但是当两个复选框都被选中时,我只会得到“abc”结果

知道代码有什么问题吗?

最佳答案

这是因为它是 else if 而不是 if。一旦第一个满意,它就不会检查其他的。更改检查这些的顺序。所以类似

if (cb1.isChecked() && cb2.isChecked()) {
    a="abc";        
} 
else if(cb1.isChecked()) {
    a="pqr";
}   
else if(cb2.isChecked()){
    a="asd";
}   
else{
    a="xyz";
}

关于java - 和 运算符在 else id block 中使用时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20353906/

相关文章:

用于在 aws tomcat elastic beanstalk 上托管的 java 对象序列化

java - Java 中同步的多线程安全性

java - 如何保证T线程可以访问n个资源而不死锁?

Java MethodHandle api 似乎产生了不正确的类型

java - 通过 AngularJS 前端输入框获取 Java 中的值

java - 逐像素读取透明 .png 的性能 Not Acceptable

java - launch4j:通过命令行覆盖默认 JVM 堆大小

java - 解析 XML 文件并跳过标签

Tomcat 服务器上的 java.lang.IllegalArgumentException 错误 -SpringMVC

java - Grails 密码使用 rsa 加密