How to iterate a for loop with system time ? | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 1

How to iterate a for loop with system time ?

I want my loop to execute every 2 minutes. when I put this parameter,I get no output till the time iteration is over.. I want the outputs for every iteration to be visible as the output. How can I do this?

17th Oct 2017, 10:52 AM
Divya Singhal
Divya Singhal - avatar
5 Answers
+ 1
Basically one of the best ways to do this in java is a... Thread.sleep() method. Its like a wait() method but most programmers like this more. Whats the diffrence between wait() and Thread.sleep()? Its pretty simple... A Thread.sleep() makes, as the name said, that the programm sleeps for a user oriented time. It makes also your "chip" empty. The wait() method just wait for a current time. So in the () you will add the time in millisec 2 minutes = Thread.sleep(2*60*1000) The good thing about it this is you can just add this method in the loop. For example a for loop: import java.util.Scanner; public class TimeRelais { public static void main(String args[]) { Scanner scan = new Scanner(System.in); int x = scan.nextInt(); try { for(int i = 0; i <= x; i++) { Thread.sleep(120*1000); System.out.println("This is an example."); } } catch(InterruptedException ex) { Thread.currentThread().interrupt(); } } } Interrupted Exeption here: https://www.google.ch/amp/www.yegor256.com/2015/10/20/interrupted-exception.amp.html I hope i didn't missunderstood you ;). Note: It doesn't work for big numbers of time or just use long.
17th Oct 2017, 1:37 PM
avatarluca
avatarluca - avatar
+ 1
the problem is I do not get any output on screen while the thread is on sleep mode. my objective is to get a different output every two minutes.. I m not getting that.
18th Oct 2017, 3:59 AM
Divya Singhal
Divya Singhal - avatar
0
@Vaenzelektron thanks for the answer.. but it not solve my query.. my loop is as follows for (int i=0;i <2;i++){ for (int j=1;j>0;j--){ createpoint (arr [j][i],arr [j--][i]); /*I want this function to execute and then the for loop to again run after two minutes for the next set of array indexes*/ } }
17th Oct 2017, 7:49 PM
Divya Singhal
Divya Singhal - avatar
0
Where's the problem? I unterstood you like this little graphic: ______________ | Start Program | \_____ _____/ ___| |___ _______ LOOP----------------After LOOP / | | | Thread.sleep END \_________/
17th Oct 2017, 9:24 PM
avatarluca
avatarluca - avatar
0
Sorry but I never used something like that in my carrer yet. When you know it please let me know :)
18th Oct 2017, 5:08 PM
avatarluca
avatarluca - avatar