Возникли проблемы с вызовом метода в моем коде (Вызывает ли правильное слово? Надеюсь, что так.) Он вернет правильную переменную, которая является числом от 0 до 10, но после повторного запуска в цикле она всегда возвращаетто же число, даже если переменная, которую он должен возвращать, изменится.
Мой код:
public class Digit1 extends Digits
{
static int iam = 1;
public void act()
{
setImage(getDigit(iam) + ".png");
}
}
Обратите внимание, что в Greenfoot act () запускается каждый тик (Верен ли тик?в любом случае.)
И мой метод, который не возвращает правильное число:
public int getDigit(int heis)
{
if (heis > digits)
return 10;
else
{
switch(heis)
{
case 1:
return m1;
default:
return 10;
}
}
}
Есть и другие случаи, но моя проблема связана только с heis = 1. m1 будет числом между0 - 9, меняется случайным образом по мере выполнения кода.Тем не менее, getDigit (iam), похоже, вернет то, что было, когда код начал работать.Что я делаю не так?
Редактировать: Итак, я вроде солгал об изменении m1.Будет, но пока не правильно.Прямо сейчас это установлено в число, и считает вниз 1 за один раз.Если я установлю его на 5, getDigit (iam) вернет 5, но позже, когда m1 = 1, getDigit (iam) все равно вернет 5.