移动示例-计算用户使用键盘输入字符串所需的最短时间
本文关键字:字符串 输入 短时间 键盘 计算 用户 移动 | 更新日期: 2023-09-27 17:59:10
手机有12个输入键('1'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、'9'、'0'、'*'和'#')。
在标准文本输入模式中,每个键都可以用于输入字母表中的字母和空格字符。例如,要访问字母"b",用户需要按两次"2"键。
用户按下一个键至少需要100毫秒。如果用户必须使用同一个键输入连续的字符,则手机必须至少暂停0.5秒才能接受下一次按键代表新字符。
我想写一个应用程序,它接受任何可以使用C#在网格中的键分配输入的字符串。应用程序应接受用户的输入,并计算用户使用键盘输入该字符串所需的最短时间和所需的键序列。
例如:
- 输入字符串"Hello World"的最短时间是多少?需要什么密钥序列
- 我们如何设计应用程序,使分配给每个键的字符能够轻松地重新配置
- 我将如何通过网页提供对相同功能的访问
- 如果我计算正确1.6秒,4 3 5 5 6#9 6 7 5 3
-
有很多选择,脑海中浮现出一个:
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来配置字典(确保没有双重映射等)
-
假设您使用的是Visual Studio:看看网上的ASP.NET MVC教程。周围有很多。
您应该封装应用程序的核心(按钮映射以及时间和序列的计算),这样您就可以将其用于任何您喜欢的UI。