ChatBot类:
聊天机器人是一种计算机程序,旨在模拟与一个或多个人类的智能对话。在本实验中,我们将为聊天机器人建立框架,该框架将在整个学期中得到增强。
ChatBot类将定义一个名称字段来标识聊天机器人(将聊天机器人命名为您喜欢的任何名称)。这将是一个不可变的字段;name字段只需要一个访问器方法。name字段应该在默认构造函数中设置。
ChatBot类定义了两个额外的方法,一个返回包含聊天机器人名称的介绍性消息。另一个接受一个字符串并生成一个字符串回复。此时,reply方法总是返回相同的消息。
这就是UML图的样子
聊天机器人(类或构造函数)
减号(- private)名称:字符串
加(+公共) getName():字符串
加上(+ public) introbot():字符串
加(+ public)公共回复(userInput : String ):String
ChatBot客户端:
客户端应用程序将管理最终用户和聊天机器人之间的聊天。客户端负责检索最终用户的评论,将其传递给聊天机器人,并检索和显示聊天机器人的响应。应该使用用户或聊天机器人的名字作为输入提示。下面是客户端的运行示例:
输入你的名字: Jeff
嗨!我的名字是mutebot
Jeff >您好
mutebot >我只是在学习说话
这是我的服务类
/*
* Java Car service class
* @author blake
* 2/13/2012
*/
public class Chatbot
{
private final String name;
private String introbot;
private String reply;
public Chatbot(String newName, String newIntrobot, String newReply)
{
name = newName;
}
public String getName()
{
return name;
}
}这是我的应用程序类
import java.util.Scanner;
public class ChatbotClient
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("What is your name? ");
String name = input.nextLine();
System.out.println("\nHi " + name + " My name is copbot");
System.out.println(name);
String reply = input.nextLine();
System.out.println("/ncopbot" + "I'm just learning how to talk " );
}
}我不能确切地确定这是否是问题所要求或要求的,或者这是否是解决问题的方法。
我认为服务类可能没问题,但我对应用程序类不太确定,因为这是你要做的访问器、变更器和诸如此类的事情,我想你只是在服务类中设置了你的字段和实例。
发布于 2012-02-20 08:41:58
有一些事情需要修复,但您正朝着正确的方向前进。
您的聊天机器人有一个中断的导入行,但我认为这只是一个复制/粘贴故障。
指令指定聊天机器人的名称是只读的,但是您有一个setter方法,所以您可能不想要这样的方法。;)另外,UML将"introbot“和"reply”描述为返回字符串的方法,而不是字符串变量。
完成这些更改后,您应该能够从您的聊天机器人客户端调用这两个方法。如果您当前有"System.out.println“行,则这些行应该是对聊天机器人的调用。例如,片段:
"My name is copbot"应该变成这样的东西
"My name is " + myChatbot.getName()reply(userInput : String)方法应该通过参数列表将用户输入传递给它。它的返回值(也是一个字符串)然后可以用来填充“我正在学习如何说话”println。
祝好运!
https://stackoverflow.com/questions/9354784
复制相似问题