Хотя все ответы с указанием приоритета оператора и того, что приведение должно быть в полном выражении, верны, я хотел бы отметить, что для этого конкретного случая есть лучший вариант:
Использовать Random.nextInt(int bound)
вместо.
Возвращает псевдослучайное число в диапазоне [0...bound>
.Этот метод более эффективен и математически более корректен из-за меньшего смещения (но я сомневаюсь, что это имеет большое значение для вашего случая использования).
Random random = new Random();
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int blackorwhite = random.nextInt(10); // Look, no cast
// Rest of the code as-is
...
}
}
PS: я думаю, что ваш код будетеще яснее, если вы только что использовали nextInt(2)
или nextBoolean()
.