我的密码挑战问题

0 linux

我们面临着编写一个提示用户输入密码的程序的挑战.正确的密码是"我喜欢Java编程"而且密码应该像我写的那样前后有一个空格.现在,有一个条件,如果用户在正确的密码之前或之后输入超过2个或更多的空格,计算机仍然会接受它!你可以帮助我吗?

Pla*_*ure 6

什么语言?

这是一个与语言无关的答案.

你有几个选择.

  • 你可以编写一个小的"状态机"(我在这里非常非正式地使用它来描述密码中所有字符的某种迭代器,它需要输入一定的模式),你首先要检查一个或多个空格,然后是中间的字符串,然后是1个或多个空格.
  • 您可以使用正则表达式.根据您的语言,可能会对正则表达式提供内置支持 - 请转到Google并输入"正则表达式"以了解更多信息.
  • 许多语言都有字符串"trim"功能,它们基本上摆脱了空格等尾随或尾随垃圾字符.您可以检查字符串的第一个和最后一个字符以确保它们是空格,然后进行修剪并检查"我喜欢Java编程"(无空格).这保证了密码在中央内容中是正确的,并且每边至少有一个空间包围.

由于这似乎是一个家庭作业问题,我不想为你编写代码,我只想告诉你这个,你可以弄清楚如何用你需要使用的语言来实现它.

无论是代码还是后代,请确保花时间弄清楚我提出的每种方法的含义(即每种算法如何工作)以及为什么它(算法)都有效.能够理解为什么将来会帮助您解决类似的问题,并且还会让您在获得更多经验时为不同类别的问题提出自己的算法.