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

时间:2011-06-15 18:27:15

标签: c#

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

在标准文本输入模式下,每个键可用于输入字母和空格字符。 例如,要访问字母“b”,用户将按两次“2”键。

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

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

例如:

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

1 个答案:

答案 0 :(得分:0)

  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教程。周围有很多。

  4. 您应该封装应用程序的核心(按钮映射以及时间和序列的计算),以便您可以在任何您喜欢的UI中使用它。