Не обновляется время в классе, вызваном циклом Java

345
11 сентября 2017, 03:54

Здравствуйте. При вызове (int) (System.currentTimeMillis()); напрямую из цикла - при каждой итерации получается новое значение, но при вызове этой же функции в классе, вызванном этим же циклом - значение не меняется:

private static void updateGame () {
    GameTime Time = new GameTime (null);
    while (true) {
        Time = new GameTime (Time);
        if (Time != null) {
            System.out.println (Time.hours + ":" + Time.minutes);
        }
    }
}
import java.util.Date;

public class GameTime {
    Settings settings = new Settings ();
    int gameSpeed = settings.gameSpeed ();
    static int hours, minutes;
    static int timestamp = (int) (System.currentTimeMillis());
    public static int hours () {
        return hours;
    }
    public static int minutes () {
        return minutes;
    }
    public static int timestamp () {
        return timestamp;
    }
    GameTime(GameTime Time) {
            System.out.println (Time.timestamp + "; " + timestamp);
        if (Time == null) {
            this.hours = 06;
            this.minutes = 00;
        } else {
            if (Time.timestamp + gameSpeed >= timestamp) {
                this.minutes += 1;
            }
            if (this.minutes >= 60) {
                this.minutes = 00;
                this.hours += 1;
            }
            if (this.hours >= 24) {
                this.hours = 00;
            }
        }
    }
}

Вопрос: как сделать так, чтоб при каждой итерации цикла метод GameTime.timestamp () принимал новое значение?

Answer 1

Уберите модификатор static у поля timestamp, а то оно у вас одно на все классы и инициализируется в момент объявление класса, а не создания экземпляра.

READ ALSO
SAXParser проблема с кодровкой

SAXParser проблема с кодровкой

Пытаюсь распарсить файл, java SAXParser

243
Как можно реализовать общение между java и php?

Как можно реализовать общение между java и php?

Я знаю php, мой друг изучает java, мы хотели бы сделать общение между php и java, но не знаем как, хотелось бы передавать переменные, массивы, чтобы...

191
Интерфейс базы данных в Android

Интерфейс базы данных в Android

Есть база данных и много Фрагментов и Активностей, где ее нужно использоватьМожно ли отдельно создать или интерфейс или класс, где заранее...

238
Почему в gmail текст в теге strong фиолетовый

Почему в gmail текст в теге strong фиолетовый

Я верстаю e-mail рассылку для gmailИ весь текст в теге strong фиолетового цвета, как у посещенной ссылке

383