Задача вроде проста, сделать пример вычитания одного рандомного числа до ста включительно, с другим рандомным числом, и вывести на экран, второе число должно быть меньше первого, чтобы не получилось отрицательного ответа, вот как я сделал, всё внимание на метод 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;
}
}