移动示例-计算用户使用键盘输入字符串所需的最短时间

本文关键字:字符串 输入 短时间 键盘 计算 用户 移动 | 更新日期: 2023-09-27 17:59:10

手机有12个输入键('1'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、'9'、'0'、'*'和'#')。

在标准文本输入模式中,每个键都可以用于输入字母表中的字母和空格字符。例如,要访问字母"b",用户需要按两次"2"键。

用户按下一个键至少需要100毫秒。如果用户必须使用同一个键输入连续的字符,则手机必须至少暂停0.5秒才能接受下一次按键代表新字符。

我想写一个应用程序,它接受任何可以使用C#在网格中的键分配输入的字符串。应用程序应接受用户的输入,并计算用户使用键盘输入该字符串所需的最短时间和所需的键序列。

例如:

  1. 输入字符串"Hello World"的最短时间是多少?需要什么密钥序列
  2. 我们如何设计应用程序,使分配给每个键的字符能够轻松地重新配置
  3. 我将如何通过网页提供对相同功能的访问

移动示例-计算用户使用键盘输入字符串所需的最短时间

  1. 如果我计算正确1.6秒,4 3 5 5 6#9 6 7 5 3
  2. 有很多选择,脑海中浮现出一个:

    var KeyMap = new Dictionary<char, List<char>>
                 {
                     { '1', new List<char>(), },   // at least on my phone 1 has no characters assigned
                     { '2', new List<char> { 'a', 'b', 'c' } },
                   ...
                 };
    

    基本上,手机上的每个按钮都映射到一个指定字符列表。然后,您可以提供一些UI来配置字典(确保没有双重映射等)

  3. 假设您使用的是Visual Studio:看看网上的ASP.NET MVC教程。周围有很多。

您应该封装应用程序的核心(按钮映射以及时间和序列的计算),这样您就可以将其用于任何您喜欢的UI。