Доступ к переменным в потоках? - PullRequest
0 голосов
/ 26 марта 2020

Я новичок в java, и я только начал использовать темы вчера. У меня проблема с доступом к переменным в потоке, который я хочу отобразить. Короче говоря, я сделал (дерьмовые) часы l oop, которые запускаются при запуске программы. После определенных действий у меня есть метод, который проверяет время, но я не знаю, как получить доступ к переменным в потоке, чтобы сделать это возможным.

Это мой основной метод:

public static void main(String[] args) {
    Thread timeRunning = new Thread(new Clock());
    Clock clock = new Clock();
    Commands command = new Commands();
    timeRunning.start();

    command.whatsTheTime();

    try {
        Thread.sleep(1000);
    } catch (InterruptedException ex) {
        Thread.currentThread().interrupt();
    }

    command.whatsTheTime();     

Это мои часы l oop:

    public class Clock implements Runnable{
public void run(){
    //Time
    int seconds = 0;
    int minutes = 0;
    int hours = 0;

    //"Clock" loop
    while(hours < 24) {
        while (minutes < 59) {
            while (seconds < 59) {
                seconds++;
                try {
                    Thread.sleep(30);
                } catch (InterruptedException ex) {
                    Thread.currentThread().interrupt();
                }
                if(seconds == 59) {
                    minutes++;
                    seconds = 0;
                }
                if(minutes == 59) {
                    hours++;
                    minutes = 0;
                    }
                }
            }
        }
    }

Это метод whatsTheTime ():

public void whatsTheTime() { System.out.println("The time is: " + clock.hours + ":" + clock.minutes + ":" + clock.seconds); }

Но это не работает. Я хочу знать, как я могу получить доступ к секундам , минутам и часам из run () в классе Clock. Извините, если это очень простой вопрос, но я не знаю, как получить к нему доступ. Я пытался найти решение, но не могу его найти. Возможно, я ищу что-то не то, но, как я уже сказал, я всего лишь несколько месяцев на java, поэтому поиск решения - это одна из вещей, которые мне нужны, чтобы поправиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...