Метод возвращает значение только один раз (Greenfoot) - PullRequest
0 голосов
/ 05 марта 2019

Возникли проблемы с вызовом метода в моем коде (Вызывает ли правильное слово? Надеюсь, что так.) Он вернет правильную переменную, которая является числом от 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.

...