Задача вроде проста, сделать пример вычитания одного рандомного числа до ста включительно, с другим рандомным числом, и вывести на экран, второе число должно быть меньше первого, чтобы не получилось отрицательного ответа, вот как я сделал, всё внимание на метод minus , который принимает первое число, и выдаёт рандомное второе, проверяет на соответствие требованию, если не соответствует то метод вызывает сам себя, генерируя новое второе число, и до "return 123;" в принципе не должно доходить, но на практике доходит в половине случаев, значит моя рекурсия не работает. Что я не так сделал?
public class Numbers extends AppCompatActivity {
TextView textView3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_numbers);
textView3 = findViewById(R.id.textView3);
int randomDo100 = randomDo100metod();
String randomDo100String = String.valueOf(randomDo100);
int minus = minus(randomDo100);
String minusString = String.valueOf(minus);
String textView3String = String.format("%s - %s", randomDo100String, minusString );
textView3.setText(textView3String);
}
public void onClickTextView(View view) {
}
private int minus(int i) {
int minusNumber = (int) (Math.random() * 100);
if (minusNumber<i) {
return minusNumber;
} else {
minus(i);
}
return 123;
}
private int randomDo100metod (){
int randomDo100metod = (int) (Math.random()*100);
return randomDo100metod;
}
}