首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

java while循环的时间逻辑判断,该怎么解决

2013-11-14 
java while循环的时间逻辑判断光棍节来了 又去天猫抢红包。http://1111.tmall.com/?ali_trackid2:mm_33231

java while循环的时间逻辑判断
光棍节来了 又去天猫抢红包。http://1111.tmall.com/?ali_trackid=2:mm_33231665_4172057_14416052:1383558704_3k6_1416935566&upsid=01c0c1ad31cb10952108e34c7deb3009&clk1=01c0c1ad31cb10952108e34c7deb3009
规则很简单就是8秒钟之内不断点击鼠标。
写了段测试代码如下:

public class Test implements Runnable {
Go go;
private String currentTime;
private Date now = new Date();
private SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy/MM/dd HH:mm:ss");

public void run() {
go = new Go();
/**
 * 8s=10ms*800 我让它休眠10ms,再给count+1,
 * 忽略调用函数和count++的时间也就是说当count==800时就刚好运行了8秒
 */
int count = 0;
while (true && count < 850) {
try {
go.go_R(653, 546);// 模拟鼠标点击函数
Thread.sleep(10);
count++;

} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

public static void main(String[] args) {
Thread t = new Thread(new Test());
t.start();
}

}


在测试过程中问题来了,为什么每次运行4.5秒左右程序就结束了?是我的逻辑有问题?还是哪里写错了 java while循环 控制时间
[解决办法]
go.go_R(653, 546);// 模拟鼠标点击函数
这个操作也需要时间的吧?
你可以把这个换成打印语句试下
[解决办法]
原来用openGL的时候遇见过,按键盘会加快动画运行速度的。按鼠标应该会对程序造成一个interrupt,可能会影响这个计时系统吧。
 while (true && count < 850) {
            try {
             long start = System.currentTimeMillis();
             go.go_R(653, 546);// 模拟鼠标点击函
                Thread.sleep(10);
                count++;
                long end = System.currentTimeMillis();
                System.out.println(end - start);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

看看每次是不是都是 10ms

热点排行