首页 / JAVA / java-解释用户文本输入的更好方法
java-解释用户文本输入的更好方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-解释用户文本输入的更好方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1234字,纯文字阅读大概需要2分钟。
内容图文
![java-解释用户文本输入的更好方法](/upload/InfoBanner/zyjiaocheng/678/a37ec67382684b538d687248bfa89644.jpg)
我的应用程序中有一个文本框,用户可以输入任何内容.我正在创建一个控制器,该控制器根据关键字解释一些命令.
用户可以选择是否设置密码.并据此,我的解释器将不需要密码.
例如,如果设置了密码并且用户输入:“ password1 show list”.
解释器在第一个单词中检查密码,然后在命令(显示)中检查密码,然后在参数(列表)中检查密码.
如果未设置密码,则用户输入“显示列表”,并且口译员可以理解.
我当前的代码是:
// 'words' is a String array which contains the user input.
if (passwordEnabled()==true) {
if (words[0].contentEquals(getPassword())
&& words[1].contentEquals("show")
&& words[2].contentEquals("list")) {
// Perform action
}
}
else {
if (words[0].contentEquals("show")
&& words[1].contentEquals("list")) {
// Perform action
}
}
我的问题是,有没有更有效/更好的方式来处理命令?我敢肯定,我的方法很粗鲁.
解决方法:
如果您试图设计基于“语言”的系统,并在其中询问命令,则应根据系统复杂性考虑两种可能的方法:
>建立系统的有限自动机.您的if语句是这种结构的最基本形式,但将其定义为实际的自动机,即您具有状态以及将您移至另一个状态的命令-是一种非常干净且通用的方法.
>构建语法解释器/编译器.将正确的命令定义为语法(编译器)规则将使您在表达可能的命令和动作时有更多的能力.
当然,这些不是交替的解决方案-为语言建立语法是非常广泛的事情,应该使用它来解析命令,而有限状态自动机则充当内部存储器和可能动作的定义.
内容总结
以上是互联网集市为您收集整理的java-解释用户文本输入的更好方法全部内容,希望文章能够帮你解决java-解释用户文本输入的更好方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。