请大神指点,小弟我实在是搞不懂了 !多谢
请大神指点,我实在是搞不懂了 !!!谢谢
我想做一个功能就是:把任意一段代码放到下面的抽象类public abstract class TimeContrul的抽象方法runCode()中,
可以控制这段代码执行自己设定的一段时间
执行的结果是:这段代码一直在输出“I Love you” 停不下来???????为什么呢
并且断点调试可以结束??
/*
* 控制runCode()中的代码能够执行设置的一段时间
*/
public abstract class TimeContrul {
//时间控制的方法,子类实现了runCode()后,创建子类对象调用public final void count(int a)时,给传递一个时间值(a单位是秒)然后程序运行a秒后停止。
public final void count(int a) {
//方法进来首先获取一个当前的毫秒值;
long t = System.currentTimeMillis();
//然后进入循环执行需要执行的代码runCode();
while (true) {
runCode();
//再次获取时间的毫秒值
long time = System.currentTimeMillis();
//两次的时间值计算出程序经过的时间
int b = (int) (time - t) / 1000;
//判断是否到了指定的时间,如果时间b大于了设定的时间a就跳出循环结束程序
if (b < a) {
} else {
break;
}
}
}
//抽象方法:子类实现它后,需要运行的代码放到其中
public abstract void runCode();
}
********************************************************************************************
测试类
//定义了一个子类继承了 TimeContrul,实现了 runCode() 方法,
public class Test01 extends TimeContrul{
public static void main(String[] args) {
//创建对象调用控制时间的方法运行代码
TimeContrul t = new Test01();
//设置时间为10秒
t.count(10);
}
@Override
public void runCode() {
//执行这段代码一定的时间;
System.out.println("I Love you");
}
}
------解决思路----------------------
改成
------解决思路----------------------
代码测试过,没问题可以停止,你如果有疑问,可以在if条件前打印b,可以出结果,其实很容易自己想到的
我想做一个功能就是:把任意一段代码放到下面的抽象类public abstract class TimeContrul的抽象方法runCode()中,
可以控制这段代码执行自己设定的一段时间
执行的结果是:这段代码一直在输出“I Love you” 停不下来???????为什么呢
并且断点调试可以结束??
/*
* 控制runCode()中的代码能够执行设置的一段时间
*/
public abstract class TimeContrul {
//时间控制的方法,子类实现了runCode()后,创建子类对象调用public final void count(int a)时,给传递一个时间值(a单位是秒)然后程序运行a秒后停止。
public final void count(int a) {
//方法进来首先获取一个当前的毫秒值;
long t = System.currentTimeMillis();
//然后进入循环执行需要执行的代码runCode();
while (true) {
runCode();
//再次获取时间的毫秒值
long time = System.currentTimeMillis();
//两次的时间值计算出程序经过的时间
int b = (int) (time - t) / 1000;
//判断是否到了指定的时间,如果时间b大于了设定的时间a就跳出循环结束程序
if (b < a) {
} else {
break;
}
}
}
//抽象方法:子类实现它后,需要运行的代码放到其中
public abstract void runCode();
}
********************************************************************************************
测试类
//定义了一个子类继承了 TimeContrul,实现了 runCode() 方法,
public class Test01 extends TimeContrul{
public static void main(String[] args) {
//创建对象调用控制时间的方法运行代码
TimeContrul t = new Test01();
//设置时间为10秒
t.count(10);
}
@Override
public void runCode() {
//执行这段代码一定的时间;
System.out.println("I Love you");
}
}
------解决思路----------------------
if (b < a) {
} else {
break;
}
改成
if (b < a) {
break;
}
------解决思路----------------------
代码测试过,没问题可以停止,你如果有疑问,可以在if条件前打印b,可以出结果,其实很容易自己想到的