Как сделать задержку в итерациях цикла for?

Уже чего только не перепробовал, конструкция Handler и Runnable задерживается только 1 раз, не подходит. В моём цикле for производится действие и начинается новая итерация, но мне необходимо чтобы между "действие" и "итерация" было еще "задержка 1 сек" Как такое реализовать?


Ответы (2 шт):

Автор решения: DronDron

Для "задержи" текущего потока:

Thread.sleep(количество_миллисекунд);

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Thread.html#sleep(long)

Метод также может кидать InterruptedException. Надо либо заворачивать в try/catch, либо писать throws InterruptedException у метода.

Пример вывода чисел от 1 до 10 с паузой в секунду:

    for (int i = 1; i <= 10; ++i) {
        System.out.println("i: " + i);
        try {
            Thread.sleep(1000);
        }
        catch (InterruptedException exception) {
            System.out.println(exception.getMessage());
        }
    }
→ Ссылка
Автор решения: Scruffy the Janitor
class ThreadDemo {

public static void main (String[] args){
    System.out.println("Main stream");
    MyThread mr1 = new MyThread("Thread #1");
    MyThread mr2 = new MyThread("Thread #2");
    MyThread mr3 = new MyThread("Thread #3");
    MyThread mr4 = new MyThread("Thread #4");
    MyThread mr5 = new MyThread("Thread #5");
    
    for (int count=0;count<50;count++){
         System.out.print("@");
         try{
             Thread.sleep(400);
         }catch (InterruptedException ex) {
               System.out.println(ex);
            }
    }
     System.out.print("End of main.");
}

}

class MyThread implements Runnable {
    String thrd="";
    Thread thrd1;
   MyThread(String Name){
       thrd = Name;
       thrd1 = new Thread(this);
       thrd1.start();
   }
  @Override
  public void run(){
      try {
        System.out.println("Запуска потока - "+thrd);
        for(int count = 0 ; count < 10;count++) {
            
                Thread.sleep(200);
            
            System.out.println("В - "+thrd+" ; счетчик - "+ count);
   
        }
         System.out.println("Конец");
  } catch (InterruptedException ex) {
               System.out.println(ex);
            }
  }
}
→ Ссылка