【发布时间】:2014-01-06 09:38:56
【问题描述】:
我正在创建安卓测验应用程序。我已经随机化了它的问题,但有时会重复生成的问题。
如何防止其重复并在所有问题显示后终止其方法?
这是整个工作代码:
public class MainActivity extends Activity {
private int currentQuestion;
private String [] questions;
private String [] answers;
private Button answerButton;
private Button questionButton;
private TextView questionView;
private TextView answerView;
private EditText answerText;
Random random = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
public void init() {
questions = new String[]{"Q1?","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10"};
currentQuestion = random.nextInt(questions.length);
answers = new String[]{"A1","A2","A3","A4","A5","A6","A7","A8","A9","A10"};
answerButton = (Button)findViewById(R.id.AnswerButton);
questionButton = (Button)findViewById(R.id.QuestionButton);
questionView = (TextView) findViewById(R.id.QuestionTextView);
answerView = (TextView) findViewById(R.id.AnswerTextView);
answerText = (EditText) findViewById(R.id.AnswerText);
answerButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {checkAnswer();
}});
questionButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
showQuestion();
}});
}
public int showQuestion(){
currentQuestion++;
if(currentQuestion == questions.length);
currentQuestion = 0;
currentQuestion = (random.nextInt(questions.length));
questionView.setText(questions[currentQuestion]);
answerView.setText("");
answerText.setText("");
return currentQuestion;
}
public void checkAnswer() {
String answer = answerText.getText().toString();
if(isCorrect(answer))
answerView.setText("You're right!");
else answerView.setText("Sorry, the correct answer is "+answers[currentQuestion]);
}
}
【问题讨论】:
标签: java android string repeat