我一直在四处搜寻,但我找不到答案。
此时此刻,我和我的小组一起创建了一些类似于客户和帐户银行的课程,等等。
我最近一直在努力通过使名为“name”的变量仅响应某些输入来改进和保护我们的代码。
在这种情况下,我想让这个人只能输入名字: 至少2个单词=(对于单词部分,我已经看到了代码,你可以计算到之间的空白区域,但不知道你对最后一个单词做了什么,因为那里不是白色空间)
最多4个字=(同样的事情)
没有特殊的标志,例如,!%¤“#()=%/'¨。=(为此,我读过一些关于”匹配器和模式“的内容)
现在我对Java很陌生,我不是要求某人编写代码,我要求有人指出我正确的代码方向,因为很多我见过的像Matcher和模式是你通过下载工具和东西导入的东西,但我认为它不是必需的,应该有一个更简单的更基本的方式,因为我没有试图超越自己复制代码只是为了完成它。
所以是的,字符串“name”在我们的主类“Banklogic”中很常用,其中几乎所有添加内容的方法都包含变量“name”,所以完成这一操作非常重要。
我希望我足够清楚,任何帮助都会受到赞赏!我会在学校前3小时发出警报,看看你们有什么想法,所以我可以在会议前尝试完成代码!非常感谢提前:))
答案 0 :(得分:3)
由于您要求提示,您可以使用Regex添加此类规则。
仅限数字:
if(string.matches("[0-9\\W]")
//allow insertion of data else not
与规则相关的字数:
string.split("\\W")
将创建一个以space
字符分隔的数组。您可以计算此数组中的元素数量,并根据该数据允许/禁止输入。
至于没有迹象,只有字母:
if(string.matches("[a-zA-Z\\W]")
// Allow Input else not
您可以使用Document Filter来实施这些方法。文档过滤器只允许输入文本。
我希望这有助于提示。
另请注意,\\W
适用于空格。如果您不想允许空格,请删除该字符。
这是完成任务的最有效和最简单的方法。
修改强>
This is a Class我前一段时间写过这些任务。万一你有兴趣......