【问题标题】:Reading each word in a text and run it in a loop读取文本中的每个单词并循环运行
【发布时间】:2018-12-07 09:52:40
【问题描述】:

我正在用 Java 在 Android 中开发语音计算器。

如何阅读文本视图中的每个单词并将其置于 if else 条件中。
因此,如果单词是“五加二”,则每个单词都会进入条件 if “五” then textview2 = 5 然后阅读下一个单词: if “plus” then textview2 = 5 + ... (那我最后算算了。)

没学过移动应用,也不知道Java的逻辑。

【问题讨论】:

  • 开始学习 JAVA 和 android 的好时机 :)
  • 您所问的涉及编程的基础知识。与 gagan 相呼应,我建议您在开始任何雄心勃勃的项目之前学习这些基础知识会很有用。
  • 我从未使用过 Android,但我建议使用 Map 创建一个字典,用于将文本翻译成数字和运算符。这将是一些乏味的工作,但易于制作和理解。 docs.oracle.com/javase/8/docs/api/java/util/HashMap.html

标签: java android java.util.scanner bufferedreader


【解决方案1】:

嗯,你有几个步骤要完成。

自从你开始工作以来,我会尽量保持简单。

  1. 将文本拆分为单个单词:

您可以使用内置的字符串方法来实现这一点:How to split a string into an array of strings

  1. 使用循环循环遍历数组
  2. 使用 if 块检查文本
  3. 使用 String equals 方法比较文本。如果您不希望它区分大小写,建议使用 equalsIgnoreCase:String comparison
  4. 然后在 if 块中将您的变量分配给适当的值

所以是这样的:

String [] stringArray = input.split("\\s+");

for (each string in the array) {
    if (thisString.equalsIgnoreCase("otherString") {
        assign value;
    }
    else if ....

等等

如果您有信心,可以在继续提高效率时对其进行改进。

编码愉快:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 2022-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    相关资源
    最近更新 更多