Как получить последнее значение переменной в конце класса? - PullRequest
0 голосов
/ 25 апреля 2018

Как получить доступ к последнему значению переменной из другого класса?Программа запускается за 30 секунд и до конца 30 секунд. Она печатает переменные.

Класс игры :

public class Game {
    public int true_num = 0, false_num = 0;

    public Game() throws InterruptedException, IOException {
        new TimerDemo(30);
        while (true) {
            play(); // true_num/false_num are changed in this method.
        }

    }
}

Класс TimerDemo :

public class TimerDemo {
        Toolkit toolkit;

    Timer timer;

    public TimerDemo(int seconds) {
        toolkit = Toolkit.getDefaultToolkit();
        timer = new Timer();
        timer.schedule(new RemindTask(), seconds * 1000);
    }

    class RemindTask extends TimerTask {

        @Override
        public void run() {
            System.out.println("Time's up!");

            JLabel lb = new JLabel("true_num = " + true_num
                    + " and " + "false_num = " + false_num);
            lb.setFont(new Font("Arial", Font.BOLD, 18));
            UIManager.put("OptionPane.minimumSize", new Dimension(150, 90));
            JOptionPane.showMessageDialog(null, lb, "aaa", 1);

            toolkit.beep();
            System.exit(0);
        }
    }
}

Как получить доступ к последнему значениюпеременные в функции воспроизведения в классе Game?вызов класса play function запускается снова, что не должно.

1 Ответ

0 голосов
/ 27 мая 2018

Без ссылки из Game, я добавил Game.total и определил volatile total в Game.

In TimerDemo:

public void run() {
     System.out.println("Time's up! Total = " + Game.total + "true_num =" + Game.true_num + "false_num =" + Game.false_num);
}

В игре:

public static volatile int true_num = 0, false_num = 0, total = 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...