我正在参加一个编程课程,我开始制作一个像程序一样的聊天机器人。 如果你说“我想教你”,我试图能够教一件事(至少)。
现在它只在我使用时才有效:
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);
}
我在这个网站上阅读了一些关于创建条件变量的答案,但是他们没有帮助我。
我确信有一种更容易实现的方法,我不知道。
答案 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);