首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聊天机器人类(服务类)和聊天机器人客户端(应用程序)类

聊天机器人类(服务类)和聊天机器人客户端(应用程序)类
EN

Stack Overflow用户
提问于 2012-02-20 08:27:53
回答 1查看 728关注 0票数 0

ChatBot类:

聊天机器人是一种计算机程序,旨在模拟与一个或多个人类的智能对话。在本实验中,我们将为聊天机器人建立框架,该框架将在整个学期中得到增强。

ChatBot类将定义一个名称字段来标识聊天机器人(将聊天机器人命名为您喜欢的任何名称)。这将是一个不可变的字段;name字段只需要一个访问器方法。name字段应该在默认构造函数中设置。

ChatBot类定义了两个额外的方法,一个返回包含聊天机器人名称的介绍性消息。另一个接受一个字符串并生成一个字符串回复。此时,reply方法总是返回相同的消息。

这就是UML图的样子

聊天机器人(类或构造函数)

减号(- private)名称:字符串

加(+公共) getName():字符串

加上(+ public) introbot():字符串

加(+ public)公共回复(userInput : String ):String

ChatBot客户端:

客户端应用程序将管理最终用户和聊天机器人之间的聊天。客户端负责检索最终用户的评论,将其传递给聊天机器人,并检索和显示聊天机器人的响应。应该使用用户或聊天机器人的名字作为输入提示。下面是客户端的运行示例:

输入你的名字: Jeff

嗨!我的名字是mutebot

Jeff >您好

mutebot >我只是在学习说话

这是我的服务类

代码语言:javascript
复制
/*
 * 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;
    }
}

这是我的应用程序类

代码语言:javascript
复制
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 " );
    }
}

我不能确切地确定这是否是问题所要求或要求的,或者这是否是解决问题的方法。

我认为服务类可能没问题,但我对应用程序类不太确定,因为这是你要做的访问器、变更器和诸如此类的事情,我想你只是在服务类中设置了你的字段和实例。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-20 08:41:58

有一些事情需要修复,但您正朝着正确的方向前进。

您的聊天机器人有一个中断的导入行,但我认为这只是一个复制/粘贴故障。

指令指定聊天机器人的名称是只读的,但是您有一个setter方法,所以您可能不想要这样的方法。;)另外,UML将"introbot“和"reply”描述为返回字符串的方法,而不是字符串变量。

完成这些更改后,您应该能够从您的聊天机器人客户端调用这两个方法。如果您当前有"System.out.println“行,则这些行应该是对聊天机器人的调用。例如,片段:

代码语言:javascript
复制
 "My name is copbot"

应该变成这样的东西

代码语言:javascript
复制
 "My name is " + myChatbot.getName()

reply(userInput : String)方法应该通过参数列表将用户输入传递给它。它的返回值(也是一个字符串)然后可以用来填充“我正在学习如何说话”println。

祝好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9354784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档