使用带有多个条件的if-else语句的android应用程序
Hye,我有一个问题,解决起来有点困惑…我需要创建一个清单供用户在我的android应用程序中回答…它包含几个问题…例如,我有5个问题,用户需要通过选择radiobutton上的选项来回答…所以基本上这个清单是检查用户是否可以驾驶汽车 1) 你受毒品影响了吗//RG1,rbyes1,rbno1使用带有多个条件的if-else语句的android应用程序,android,conditional-statements,rules,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 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个问题…所以,这意味着会有很多条件。。我也不知道如何用代码来写,因为有太多的条件…希望你们能理解我的意思,并能帮助我…谢谢 您不需要检查所有可能性。您只需检查每个答案一次,并跟踪错误消息,例如:
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=true;
ArrayList errorMessages=新建ArrayList();
if(RG1.getCheckedRadioButtonId()==R.id.rbno1){
canDrive=canDrive&&true;
}否则{
canDrive=假;
错误消息。添加(“受药物影响”);
}
if(RG2.getCheckedRadioButtonId()==R.id.rbyes2){
canDrive=canDrive&&true;
}否则{
canDrive=假;
错误消息。添加(“无驾驶执照”);
}
//检查其余的答案
在您的条件结束时,变量canDrive
将反映用户回答的结果,并且您将在errorMessages
列表中显示所有错误消息,您可以循环并适当显示这些消息
尝试使代码更通用,考虑使用您的代码> CheckedRadioButtons < /COD>数组,并且可以使用<代码>复选框.StasgAgter()/<代码> < /P> < P> <强>解决方案1:< /强>来存储每个问题的错误信息。 在我看来,您必须创建一个数据库来存储结果 当您需要打印错误消息时,您必须在结果为“是”的简单选择查询中触发 然后打印你的信息 解决方案2: 如果是,则必须创建arrayList并存储结果值
然后,您必须找到arrayList的长度,并输入您的条件和消息…它的工作。。。!!。。现在我的长代码可以简化为短代码..如果我想在列表中显示它呢..只需声明ListView lv..然后声明lv.setAdapter(errorMessages);