Java中的TimerTask
目前我的输出是倒数前的方程式和答案。我要等式,倒计时,然后按这个顺序回答。我尝试过更换零件,但我不确定是否有一种聪明的方法可以做到这一点 代码如下:Java中的TimerTask,java,timertask,Java,Timertask,目前我的输出是倒数前的方程式和答案。我要等式,倒计时,然后按这个顺序回答。我尝试过更换零件,但我不确定是否有一种聪明的方法可以做到这一点 代码如下: import java.util.Timer; import java.util.TimerTask; public class S1p4 { public static void main(String[] args) { Timer timer = new Timer(); Ta
import java.util.Timer;
import java.util.TimerTask;
public class S1p4 {
public static void main(String[] args) {
Timer timer = new Timer();
Task task = new Task();
timer.schedule(task, 1000, 1000);
int num1 = (int) (Math.random()*10);
int num2 = (int) (Math.random()*10);
System.out.println(num1);
System.out.println("+");
System.out.println(num2);
int addition = num1 + num2;
System.out.println("=");
System.out.println(addition);
}
}
class Task extends TimerTask
{
int i=4;
@Override
public void run() {
i--;
if(i==3)
System.out.println("3 >>>");
if(i==2){
System.out.println("2 >>>");
}
if(i==1){
System.out.println("1 >>>");
cancel();
System.exit(0);
}
}
}
你可以先把方程式打印出来。下一步启动计时器。然后,在主线程中,使用暂停踏板。然后在计时器完成最后一次迭代调用后。最后把答案打印出来
另请参见:您可以这样做。注意,我将结果添加到Task的构造函数中,并在退出之前添加了System.out.println
import java.util.Timer;
import java.util.TimerTask;
public class S1p4 {
public static void main(String[] args) {
Timer timer = new Timer();
int num1 = (int) (Math.random() * 10);
int num2 = (int) (Math.random() * 10);
int addition = (int) num1 + num2;
System.out.println(num1);
System.out.println("+");
System.out.println(num2);
// Add the result to the task.
Task task = new Task(addition);
timer.schedule(task, 1000, 1000);
}
}
class Task extends TimerTask {
// Store the result.
private int result;
// Construct a Task with the result.
public Task(int result) {
super();
this.result = result;
}
// How many times to run.
int i = 4;
@Override
public void run() {
i--;
if (i == 3) {
System.out.println("3>>>");
} else if (i == 2) {
System.out.println("2>>>");
} else {
System.out.println("1>>>");
cancel();
// The timer is done print the result.
System.out.println("The result was " + result);
System.exit(0);
}
}
}