Я делаю код 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. Мой код, вероятно, не очень хорошо сделан и может быть улучшен. Спасибо
-Мне
Я хочу, чтобы он подождал, чтобы мы могли видеть, как меняются числа, а не просто видеть непосредственно результат, который в любом случае всегда равен 1.
Лучший способ подождать здесь — метод Thread.sleep(n)
. В ситуации, когда у вас есть несколько потоков, вы можете сказать threadA
дождаться treadB
завершения, вызвав treadB.join()
метод.
Ну, я не знаю, что это за threadA
, threadB
или threadB.join()
. Кроме того, является ли n
переменной? Кстати, спасибо, что так быстро ответили.
Да, под n
я имею в виду количество миллисекунд. О threadA/B
Я имею в виду многопоточность, которая не используется в вашем решении.
О, хорошо, так что n
будет 100 или что-то вроде этого. Кроме того, я просто добавляю вещь thread.join(), и она будет многопоточной? Я никогда не делал этого раньше.
Нет, вы можете больше узнать о многопоточности здесь — tutorialspoint.com/java/java_multithreading.htm
Как вы думаете, в чем смысл ожидания?