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秒后停止工作吗?谢谢!
答案 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,你得到了;)