我在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()即可!

10-07 19:20
查看更多