如何在if语句中创建条件字符串? (回答类似的问题答案没有奏效)

时间:2011-05-02 23:03:16

标签: conditional-statements chatbot

我正在参加一个编程课程,我开始制作一个像程序一样的聊天机器人。 如果你说“我想教你”,我试图能够教一件事(至少)。

现在它只在我使用时才有效:

String name = JOptionPane.showInputDialog("What word or phrase would you like to teach me to respond to?")
learn1Reply= JOptionPane.showInputDialog("So now, what do you want me to say when you type, '" + learn1 + "' in?");;

我不知道如何使它成为一个if语句,导致后来输入:

else if(text.equalsIgnoreCase(learn1))
    {
      JOptionPane.showMessageDialog(null, learn1Reply);
    }

我在这个网站上阅读了一些关于创建条件变量的答案,但是他们没有帮助我。

我确信有一种更容易实现的方法,我不知道。

1 个答案:

答案 0 :(得分:0)

考虑将数据与代码逻辑分开存储。例如(我将假设java,因为你的例子,但我不是一个真正的java人,所以请原谅我,如果泛型的东西是不正确的):

HashMap responses = new HashMap<string, string>();

然后只需在输入回复时添加到地图。

responses.put("something", "response text");

或者在你的情况下:

responses.put(learn1, learn1Reply); // After you get the input

如果要显示相应的响应,只需获取它,而不是使用一些大的if-else树。 (随着他们的成长,他们难以阅读和维护。)

所以而不是

... else if(text.equalsIgnoreCase(learn1)){
    JOptionPane.showMessageDialog(null, learn1Reply);
}

您可以简单地进行查找。

JOptionPane.showMessageDialog(null, responses.get(learn1);