Добро пожаловать на SO. К сожалению, код, который вы опубликовали, имеет довольно много проблем (включая синтаксические ошибки), поэтому нам довольно сложно предложить конкретные изменения для решения вашей проблемы.
Вместо того, чтобы предлагать решение требований, я предлагаю вам разбить задачу на несколько этапов и превратить каждый в метод, который вы проверяете (с помощью модульных тестов), прежде чем переходить к следующему.
Так, например, первая задача: создать массив 10x10, инициализированный как false. Написание теста для этого может быть единственной сложной задачей. Что-то вроде:
class BinaryMap {
public int countValues(boolean value) {
...
}
}
class BinaryMapTest {
@Test
void testInitialisation() {
BinaryMap map = new BinaryMap():
assertThat(map.countValues(false)).isEqualTo(100);
assertThat(map.countValues(true)).isEqualTo(0);
}
}
Я предлагаю вам заставить этот код работать, прежде чем переходить к случайному присвоению true
значений.
В этом случае, действительно, единственная сложная вещь, которую следует избегать, это просто сгенерировать 10 случайных позиций и присвоить их true
. Если вам случится генерировать дубликаты, у вас будет меньше 10 true
значений в массиве.
Так что вместо:
for 10 iterations
assign random value to true
Вам нужно
while there are less than 10 true values
assign random value to true