我在android中构建一个问卷类型的应用程序,我想知道是否有一种方法可以将if语句具有相同的值最终输出随机化?换句话说,我不想每次都出现一个结果,我希望结果在“ GOOD JOB”和“ WELL DONE”之间随机分配,有人知道这是否可行吗?
这是我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_system);
RadioGroup gender = (RadioGroup) findViewById(R.id.answer1);
gender.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
switch (checkedId) {
case R.id.answer1A:
ans1 = 1;
break;
case R.id.answer1B:
ans1 = 2;
break;
}
}
});
RadioGroup nutrition = (RadioGroup) findViewById(R.id.answer2);
nutrition.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
switch (checkedId) {
case R.id.answer2A:
ans2 = 1;
break;
case R.id.answer2B:
ans2 = 2;
break;
}
}
});
btnSubmitQuiz = (Button) findViewById(R.id.submit);
btnSubmitQuiz.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// 1
if (ans1 == 1 && ans2 == 1) {
displayResult("good job");
}
if (ans1 == 1 && ans2 == 1 ) {
displayResult("well done");
}
else {
displayResult("FAIL");
}
}
private void displayResult(String result) {
Intent i = new Intent("com.example.system.SHOWRESULT");
i.putExtra("unique_constant", result);
startActivity(i);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.system, menu);
return true;
}
}
最佳答案
您可能具有从正确的结果响应的字符串数组生成随机索引的功能。
String[] correctResults;
Random randomGenerator;
public void onCreate (Bundle savedInstanceState) {
//All your init stuff...
generator = new Random();
correctResults = new String[] {"good job", "well done"};
}
public String getRandomCorrectResult() {
return correctResults[generator.nextInt(correctResults.length)];
}
只需在该if语句中调用getRandomCorrectResult()即可!