在询问10个问题后如何停止selectQuestion()方法

时间:2016-08-26 11:10:50

标签: java android

我正在开发一个数学测验应用程序,它会从array输入中随机生成问题,但它会无限期地继续,我不得不在提出10个问题之后停止生成问题,但我不知道怎么可以帮助我。我用这个

分享我的代码
private void selectQuestion(){
  answerTxt.setText("?");
  operand1=getOperand1();
  operand2=getoperand2();
  question.setText(operand1 + "*" +operand2); 
  answer=operand1 * operand2;

}

private int getOperand1() {
    operand1=random.nextInt(level2op1.length);
     return operand1;

}
private int getOperand2() {
    operand2=random.nextInt(level2op2.length);
    return operand2;
}

@Override
public void onClick(View view) {

        if (view.getId() == R.id.btn_one || view.getId() == R.id.btn_two
                || view.getId() == R.id.btn_three || view.getId() == R.id.btn_four
                || view.getId() == R.id.btn_five || view.getId() == R.id.btn_six
                || view.getId() == R.id.btn_seven || view.getId() == R.id.btn_eight
                || view.getId() == R.id.btn_nine || view.getId() == R.id.btn_zero) {

            if (answer <= 9) {
                Log.e("tag","ans : " + answer);
                    //get number from tag
                    int enteredNum = Integer.parseInt(view.getTag().toString());
                    if (answerTxt.getText().toString().endsWith("?"))
                        answerTxt.setText("" + enteredNum);
                        if (enteredNum == answer) {
                            response.setImageResource(R.drawable.tick);
                            response.setVisibility(View.VISIBLE);
                        } else {
                            response.setImageResource(R.drawable.cross);
                            response.setVisibility(View.VISIBLE);
                        }
                        selectQuestion();
            }
            else if (answer > 9) {
                Log.e("tag","ans : " + answer);
                int enteredNum = Integer.parseInt(view.getTag().toString());
                enteredInput = enteredInput * 10 + enteredNum;
                answerTxt.setText("" + enteredInput);
                Log.e("tag","enteredInput : " + enteredInput);
                    if (enteredInput == answer) {
                        Log.e("tag","correct : " );
                        response.setImageResource(R.drawable.tick);
                        response.setVisibility(View.VISIBLE);
                        selectQuestion();
                    }
                    else if (enteredInput > 9) {
                        Log.e("tag","wrong : " );
                        response.setImageResource(R.drawable.cross);
                        response.setVisibility(View.VISIBLE);
                        selectQuestion();
                    }
            }
        }
        else if (view.getId() == R.id.btn_clr)
        {
            answerTxt.setText("?");
            enteredInput=0;
        }

}

1 个答案:

答案 0 :(得分:0)

要停止方法执行,我们使用return关键字。

执行方法10次使用:

for (int i = 0; i < 10; i++) {
    method();
}