Java 如何使程序工作10秒?10秒后,程序将停止 公共类随机打印{ 公共静态打印(){ 对于(int i=0;i=(10*1000)){ System.out.println(“10秒停止!”); 打破 } } } }
这是我的java代码,程序是“randomprint()”,但10秒后,程序没有停止!(程序将始终有效)。你能帮我让程序在工作10秒后停止工作吗?谢谢大家! 在方法randomprint中,完全删除for循环,但保留它的一行正文,它将按预期工作。我对您的代码做了一些更改,因为for循环必须中断,所以我们将在您想要的时间中断它,现在我将把时间传递给您的方法,看Java 如何使程序工作10秒?10秒后,程序将停止 公共类随机打印{ 公共静态打印(){ 对于(int i=0;i=(10*1000)){ System.out.println(“10秒停止!”); 打破 } } } },java,Java,这是我的java代码,程序是“randomprint()”,但10秒后,程序没有停止!(程序将始终有效)。你能帮我让程序在工作10秒后停止工作吗?谢谢大家! 在方法randomprint中,完全删除for循环,但保留它的一行正文,它将按预期工作。我对您的代码做了一些更改,因为for循环必须中断,所以我们将在您想要的时间中断它,现在我将把时间传递给您的方法,看 public class RandomPrint { public static void randomprint(){
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;
}
}
}
}
public静态打印(整数秒){
长启动=System.currentTimeMillis();
长端=开始+(秒)*1000;//秒*1000毫秒/秒
对于(int i=0;i=end)中断;
}
}
公共静态void main(字符串[]args){
//3秒后停止我的程序
随机打印(3);
}
把数字3换成10,你就得到了;) 调试时,会发生什么?这些价值观是你所期望的吗?代码的行为与您期望的有什么不同?这就是为什么存在调试器。您的程序似乎按照预期的要求工作(运行10秒,然后停止)。什么不对?在哪里调用randomprint()?你是从另一个线程调用它吗?巨大的for循环和计时器在同一个线程上吗?如果randomprint未返回,则无法检查时间在“while(true){”和“CheckTime=System.currentTimeMillis();”之间是否存在“randomprint.randomprint();”.但10秒后,程序没有停止!好的,没问题,但我不知道如何给你答案,你能告诉我步骤吗?谢谢!我真的很抱歉,我在箭头上点击了太多次,“0”变成了“1”,但很快又变成了“0”。太多了,np=)
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);
}