Java Свинг Подождите

Я делаю код Java, и мне нужно подождать несколько миллисекунд.

while(true)
{
    //wait
    //more code
}

Как я могу заставить свой код ждать? Обычно я пишу на C# и умею Thread.Sleep(), но не нашел способа заставить это работать на java. Кроме того, это мой текущий полный код, если вам интересно:

import javax.swing.*;
import java.util.*;

class Main{
    public static void main(String [] arg){
        Boolean isEnded = false;
        Scanner newScan = new Scanner(System.in);
        
        JFrame jf = new JFrame("Weird 3N+1 Calculator");
        JLabel jl = new JLabel("No Seed Entered.");
        
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        jf.setSize(300,300);
        jf.getContentPane().add(jl);
        jf.setVisible(true);

        System.out.println("Enter a seed: ");
        String seed = newScan.nextLine();
        Integer x = Integer.valueOf(seed);
        
        while(isEnded == false)         
        {
            //Thread.sleep(100);
            
            if(x == 1)  
            {
                isEnded = true;
                jl.setText("Last Number Is: " + x);
            }       
            else
            {
                if(x % 2 == 0)  
                {       
                    System.out.println(x / 2);
                    x = x / 2;
                    jl.setText("Now:" + x);
                }   
                else
                {   
                    System.out.println(x * 3 + 1);  
                    x = x * 3 + 1;
                    jl.setText("Now:" + x);
                }   
            }
        }
    }
}

Кроме того, я только начал программировать на Java. Мой код, вероятно, не очень хорошо сделан и может быть улучшен. Спасибо

-Мне

Как вы думаете, в чем смысл ожидания?

ikorennoy 16.05.2022 20:49

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

XYink 16.05.2022 20:54
Основы программирования на Java
Основы программирования на Java
Java - это высокоуровневый объектно-ориентированный язык программирования, основанный на классах.
Концепции JavaScript, которые вы должны знать как JS программист!
Концепции JavaScript, которые вы должны знать как JS программист!
JavaScript (Js) - это язык программирования, объединяющий HTML и CSS с одной из основных технологий Всемирной паутины. Более 97% веб-сайтов используют...
0
2
26
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Лучший способ подождать здесь — метод Thread.sleep(n). В ситуации, когда у вас есть несколько потоков, вы можете сказать threadA дождаться treadB завершения, вызвав treadB.join() метод.

Ну, я не знаю, что это за threadA, threadB или threadB.join(). Кроме того, является ли n переменной? Кстати, спасибо, что так быстро ответили.

XYink 16.05.2022 20:52

Да, под n я имею в виду количество миллисекунд. О threadA/B Я имею в виду многопоточность, которая не используется в вашем решении.

Serhii Zhura 16.05.2022 20:55

О, хорошо, так что n будет 100 или что-то вроде этого. Кроме того, я просто добавляю вещь thread.join(), и она будет многопоточной? Я никогда не делал этого раньше.

XYink 16.05.2022 20:58

Нет, вы можете больше узнать о многопоточности здесь — tutorialspoint.com/java/java_multithreading.htm

Serhii Zhura 16.05.2022 21:14

Другие вопросы по теме