【发布时间】:2018-06-23 13:13:54
【问题描述】:
我有点卡住... android 和 Java 新手(在线课程),并将测验应用程序作为一个项目。我有一个带有 4 个复选框的问题,每个复选框中有 2 个是正确答案。我想将每个正确答案的分数提高 5(如果勾选 1/2,则获得 5 分,如果两者都勾选,则获得 10 分)。我尝试使用 OR 运算符,但即使两个答案都打勾,我仍然只得到 5 分。有什么办法可以解决这个问题?谢谢 以下是相关代码的片段:
@Override
public void onClickNextButton(View v) {
CheckBox checkBox1 = findViewById(R.id.terrance);
CheckBox checkBox2 = findViewById(R.id.jimbo);
CheckBox checkBox3 = findViewById(R.id.phillip);
CheckBox checkBox4 = findViewById(R.id.ike);
if (checkBox1.isChecked() || checkBox3.isChecked()) {
MainActivity.score += 5;
} else if (checkBox2.isChecked() || (checkBox4.isChecked())) {
} else {
Toast.makeText(getApplicationContext(), "You must pick an answer", Toast.LENGTH_SHORT).show();
return;
}
Intent intent = new Intent(this, Answer_4.class);
startActivity(intent);
}
【问题讨论】:
-
请take the tour 了解该网站的运作方式以及此处的主题有哪些问题,并edit 相应地提出您的问题。另见:Why is "Can someone help me?" not an actual question?
-
因为你使用了OR运算符,即使你选择了两个正确的答案,你仍然只能得到5分。一种简单的解决方案是在两个单独的 if 语句中检查它们,例如 if (checkBox1.isChecked()) { } if (checkBox3.isChecked()) { }