想做一个测试打字速度的程序,平均每分钟打字的速度怎么求?

旋风小伙 2016-02-22 02:05:03
已知:
1,当前已过去多久
2,当前打了多少个字
我设置了一个定时器,每隔一秒就会计算一次,但是我该怎么求平均每分钟打字的速度
...全文
1292 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
计时器计时,每一秒触发一次,定义一个数字每秒加一,获取当前已打的字数,用当前打字数除以定义的数字就是打字速度了
cw6666666 2017-12-31
  • 打赏
  • 举报
回复
怎么把richtexbox中的内容取出来
Poopaye 2016-02-24
  • 打赏
  • 举报
回复
这种应用题小学生他都会啊
crystal_lz 2016-02-24
  • 打赏
  • 举报
回复
知道过了多久 知道打了多少个字 那不就是已经有答案了吗? 打了多少个字 / 过了多少秒 * 60秒 = 平均每分钟打多少个字
欢乐的小猪 2016-02-24
  • 打赏
  • 举报
回复
textchangedevent() { //更新时间 //更新字数 //更新打字速度 }
  • 打赏
  • 举报
回复
引用 楼主 li335843048 的回复:
已知: 1,当前已过去多久 2,当前打了多少个字 我设置了一个定时器,每隔一秒就会计算一次,但是我该怎么求平均每分钟打字的速度
只有第一条跟定时器有关,第二条跟定时器根本就无关。 处理每一种事件,都首先要看事件本身是什么,而不要滥用定时器。当你打了一个字,不论有多快,那么都需要在打完字的一瞬间立刻累加统计;当连续5秒钟没有打字,那么也就不统计打了多少字。所以这个事件是跟键盘事件有关的,而跟定时器毫无关系。
FTD_Fred 2016-02-23
  • 打赏
  • 举报
回复
引用 1 楼 szOOrz 的回复:
DateTime dt = DateTime.Now;//获取一个开始计时的时间 定时器倒是不用。直接起个线程来计算和呈现。 线程中循环这样的过程: { TimeSpan ts = DateTime.Now - dt;//获取当前时间和开始时间的时间差差 int count = text.Length;//字数 int speed = count / ts.Seconds;//速度 ...//呈现 }
正解
风吹腚腚凉 2016-02-22
  • 打赏
  • 举报
回复
每秒计算的时候存一下当前的秒数和字数,如果%60=0.就存入list集合里。
qbilbo 2016-02-22
  • 打赏
  • 举报
回复
引用 楼主 li335843048 的回复:
已知: 1,当前已过去多久 2,当前打了多少个字 我设置了一个定时器,每隔一秒就会计算一次,但是我该怎么求平均每分钟打字的速度
只要在开始记时前,记录文本框内原有多少字符,和开始时间即可。然后在Changed事件里用:(现有字符数-原有字符数)/(当前时间-开始时间)就好了。这些计算因为非常简单,不会因为计算和输入在一个线程而导致影响输入速度的。 最终结果取决于是定时还是定量。如果是定量,那就用上面的逻辑就行了,如果是定时,只要在时间到了后再算最后一次即可,这种情况下用个定时器,这个定时器只触发一次即可。
好几只小萝莉 2016-02-22
  • 打赏
  • 举报
回复
DateTime dt = DateTime.Now;//获取一个开始计时的时间 定时器倒是不用。直接起个线程来计算和呈现。 线程中循环这样的过程: { TimeSpan ts = DateTime.Now - dt;//获取当前时间和开始时间的时间差差 int count = text.Length;//字数 int speed = count / ts.Seconds;//速度 ...//呈现 }

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧