Я хочу создать случайное число, определяющее цвет. Этот цвет меняется каждый раз, когда счетчик кратен 3. Когда счетчик равен 0, 1, 2, цвет должен оставаться неизменным. Затем он должен измениться на 3.Как сохранить произвольно сгенерированное число в пределах определенного метода в течение определенного периода времени?
Счет изменяется каждый раз, когда выполняется метод printColor().
Я попытался сделать это, как вы можете видеть ниже, но я продолжаю получать исключение NullPointerException. Я не могу сгенерировать randomNumber в поле или в конструкторе, поскольку это не соответствует ограничениям требований.
import java.awt.*;
import java.util.*;
public class ColorGenerator {
private int count = 1;
private Random rand;
private int randomNumber;
public Color getColor(){
Color lionColor = Color.RED;
if (count % 3 == 0 || count == 1){
randomNumber = rand.nextInt(3) + 1;
}
if (randomNumber == 1){
lionColor = Color.RED;
} else if (randomNumber == 2){
lionColor = Color.BLUE;
} else {
lionColor = Color.GREEN;
}
return lionColor;
}
public void printColor(Color color){
count++;
System.out.println(color.toString());
}
}
Где происходит исключение? – javaHunter
Вы инициализировали переменную rand? – Blitzkr1eg