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

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 

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 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值