android应用程序使用带有多个条件的if else语句

时间:2013-02-19 01:36:23

标签: android conditional-statements rules

Hye,我有一个问题,有点困惑解决它...我需要创建一个清单供用户在我的Android应用程序中回答..包含几个问题...例如,我有5个问题,用户需要回答通过选择radiobutton的选项...所以基本上这个清单是检查用户是否被允许驾驶汽车..

1)您是否受到毒品的影响? // RG1,rbyes1,rbno1

O Yes       O No

2)你有驾驶执照吗? // RG2,rbyes2,rbno2

O Yes       O No
3)你有车吗? // RG3,rbyes3,rbno3

O YES       O No
4)你喝醉了吗? // RG4,rbyes4,rbno4

O Yes       O No

5)你是色盲吗? // RG5,rbyes5,rbno5

O Yes       O No

用户需要回答

1)

2)

3)

4)

5)

让用户有资格驾驶汽车..

如果用户回答相反的情况,系统应显示每个相反答案的原因..

这是我的示例代码

 If(RG1. getCheckedRadioButtonId() == R.id.rbno1 &&
    RG2. getCheckedRadioButtonId() == R.id.rbyes2 &&
    RG3. getCheckedRadioButtonId() == R.id.rbyes3 &&
    RG4. getCheckedRadioButtonId() == R.id.rbno4 &&
    RG5. getCheckedRadioButtonId() == R.id.rbno5)
   {
      Toast.makeText(getApplicationContext(),”Congratz, you can drive”, Toast.LENGTH_LONG).show();
       }

以上代码是符合条件的用户答案。如果用户回答如此

,该怎么办?

1)

2)

3)

4)

5)

因此,系统应显示

{
 Toast.makeText(getApplicationContext(),”Sorry, you are not allow to drive because you have\n“+ 
  “2) No driving license\n” +
  “4) influenced of alcohol\n”, Toast.LENGTH_LONG).show();

  }

这是我能做什么的一个想法。我需要创造各种可能性......因为对于实际的一个,我有超过10个问题......所以,这意味着会有很多因为太多的条件,我也混淆了如何在代码中写它。希望你们明白我的意思并且可以帮助我...谢谢你......!

2 个答案:

答案 0 :(得分:3)

您无需检查所有可能性。您只检查每个答案一次,并跟踪错误消息,例如:

boolean canDrive = true;
ArrayList<String> errorMessages = new ArrayList<String>();
if(RG1.getCheckedRadioButtonId() == R.id.rbno1) {
     canDrive = canDrive && true;
} else {
     canDrive = false;
     errorMessages.add("Influenced of drugs");
}

if(RG2.getCheckedRadioButtonId() == R.id.rbyes2) {
     canDrive = canDrive && true;
} else {
     canDrive = false;
     errorMessages.add("No driving license");
}

// Check the rest of your answers

在条件结束时,您将使用变量canDrive反映用户答案的​​结果,并且您将获得errorMessages列表中的所有错误消息,您可以循环显示并正确显示。

尝试使您的代码更通用,请考虑使用CheckedRadioButtons的数组,并使用checkBox.setTag()

为每个问题存储错误消息

答案 1 :(得分:0)

解决方案1: 在我看来,你必须在数据库上创建存储结果。

当您必须要求打印错误消息时,必须触发简单的选择查询,结果为是。

然后打印您的消息

解决方案2:

如果是,则必须创建arrayList并存储结果值。

然后你必须找到arrayList的长度并把你的条件和放置消息