如何使程序工作10秒? 10秒后程序将停止

时间:2017-04-09 14:31:43

标签: java

public class RandomPrint {
    public static void randomprint(){
        for (int i=0;i<100000000;i++){
            System.out.println((int)(1+Math.random()*10));
        }
    }
    public static void main(String[] args){
        long begain = System.currentTimeMillis();

        long CheckTime = System.currentTimeMillis();
        while(true){
            RandomPrint.randomprint();  //this is the program need to work
            CheckTime = System.currentTimeMillis(); 
            if((CheckTime-begain)>=(10*1000)){
                System.out.println("10 seconds stop!");
                break;
            }
        }
   }    
}

这是我的java代码,程序是&#34; randomprint()&#34; ,但10秒后,程序不会停止!(程序将始终有效)。你可以帮我让程序在工作10秒后停止工作吗?谢谢!

2 个答案:

答案 0 :(得分:0)

在方法randomprint中完全删除for循环,但保留它的单行体,它将按预期工作。

答案 1 :(得分:0)

我对你的代码进行了一些修改,因为for循环我们必须打破它,所以我们会在你想要的时候打破它,现在这次我会把时间花在你的方法上,看看

public static void randomprint(int seconds){
    long start = System.currentTimeMillis();
    long end = start + (seconds)*1000; //  seconds * 1000 ms/sec
      for (int i = 0;i<100000000;){
        System.out.println((int)(1+Math.random()*10));
        i++;
        if(System.currentTimeMillis() >= end) break;


    }
}

public static void main(String[] args) {

        //Stop my program at 3 seconds
        randomprint(3);

}

更改10的数字3,你得到了;)