У меня есть программа, в которой 4 случайных числа установлены на 4 кнопки (по одному для каждой кнопки). Существуют две случайные величины (rbvalue и loadG4). Число rbval различно для каждой кнопки, но значение loadG4 переопределяет значение кнопки и заменяет его. Идея заключается в том, что ни один из чисел rbvalue не должен равняться loadG4, и часть программы гарантирует, что они никогда не будут равны. Вот код:Как работает этот код? (Java)
Random GenerateG4 = new Random();
int loadG4 = GenerateG4.nextInt(10);
Random randoms1 = new Random();
final TextView number = (TextView) findViewById(R.id.number);
number.setText(""+loadG4);
for(int allrbA=0; allrbA<4; allrbA++) {
int rbvalue = randoms1.nextInt(10 - 1);
if (rbvalue==loadG4) rbvalue=9;
selectrb[allrbA].setText(""+rbvalue);
}
selectrb[rbselector].setText(""+loadG4);
Та часть, которая делает эту работу является:
if (rbvalue==loadG4) rbvalue=9;
Просто добавив эту строку кода в сделал свою работу. Теперь из всех чисел, порожденных от 0 до 9, есть только одно из которых - значение loadG4. Как это сделала одна линия? Я всегда думал, что после if (...)
должны быть фигурные скобки для фактических утверждений, например, if (...) {System.out.println ("...")} Зачем устанавливать rbvalue в 9? Почему существует (10 -1) для случайного значения rb? Что это значит -1 в этой ситуации?
Буду признателен всем, кто мог бы прояснить это для меня, спасибо.