Any help would be greatly appreciated. I’m trying to implement a simple maths game. I’ve gotten as far as generating random questions and being able to validate answers, but I want to limit the game to ten questions and to display the users score after the final question. I’m a novice programmer and from what I understand I will require some form of loop. Any code examples or general help/advice would be fantastic, thanks.
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.keypad_hash:
checkAnswer();
getQuestion();
break;
case R.id.keypad_1:
editText.append(String.valueOf(v.getTag()));
break;
case R.id.keypad_2:
editText.append(String.valueOf(v.getTag()));
break;
case R.id.keypad_3:
editText.append(String.valueOf(v.getTag()));
break;
case R.id.keypad_4:
editText.append(String.valueOf(v.getTag()));
break;
case R.id.keypad_5:
editText.append(String.valueOf(v.getTag()));
break;
case R.id.keypad_6:
editText.append(String.valueOf(v.getTag()));
break;
case R.id.keypad_7:
editText.append(String.valueOf(v.getTag()));
break;
case R.id.keypad_8:
editText.append(String.valueOf(v.getTag()));
break;
case R.id.keypad_9:
editText.append(String.valueOf(v.getTag()));
break;
case R.id.keypad_0:
editText.append(String.valueOf(v.getTag()));
break;
case R.id.keypad_delete:
if (editText.getText().length() > 0) {
editText.getText().delete(editText.getText().length() - 1,
editText.getText().length());
}
break;
case R.id.keypad_minus:
editText.append(String.valueOf(v.getTag()));
break;
}
}
public void getQuestion(){
random1 = (int)(Math.random()*100);
random2 = (int)(Math.random()*10);
int i1 = Min + (int)(Math.random() * ((Max - Min) + 1));
for (int i = 0; i < 10; i++) {
if(i1 == 1){
question = (random1 + "+" + random2);
correctAnswer = random1 + random2;
editTextEquation.setText(question);
}
if(i1 == 2){
question = (random1 + "-" +random2);
correctAnswer = random1 - random2;
editTextEquation.setText(question);
}
if(i1 == 3){
question = random1 + "/" +random2;
correctAnswer = random1 / random2;
editTextEquation.setText(question);
}
if(i1 == 4){
question = (random1 + "*" +random2);
correctAnswer = random1 * random2;
editTextEquation.setText(question);
}
}
}
public void checkAnswer(){
int mm = 0;
//answer = editText.getText().toString();
mm = Integer.parseInt(editText.getText().toString());
if (mm == correctAnswer){
score++;
scoredisplay.setText("" + score);
}
else {
score--;
scoredisplay.setText("" + score);
}
}
}
you might not need a loop the way you built it.