ChatBot类:

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

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

ChatBot类定义了两种其他方法,一种返回包含聊天机器人名称的介绍性消息。另一个接受一个String并产生一个String答复。此时,reply方法始终返回相同的消息。

这就是UML图的样子

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

减号(-私有):字符串

加号(+ public)getName():字符串

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

加号(+ public)公开回复(userInput:String):String

ChatBot客户端:

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

输入您的名字:杰夫

嗨!我叫静音机器人

杰夫>你好

Mutantbot>我只是在学习说话

这是我的服务等级

/*
 * 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 " );



    }
}


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

我认为服务类可能还可以,但是我对应用程序类不太确定,因为那是您要进行访问器,变量和类似操作的地方,我想您只是在服务中设置了字段和实例类。

最佳答案

有一些问题需要解决,但您的方向正确。

您的聊天机器人的导入行损坏,但是我认为这只是复制/粘贴故障。

说明中指定聊天机器人的名称为只读,但是您有一个setter方法,因此您可能不希望这样。 ;)此外,UML将“ introbot”和“ reply”描述为返回String而不是String变量的方法。

进行了这些更改后,您应该可以从chatbot客户端调用这两种方法。当前在“ System.out.println”行中,这些行应该是对聊天机器人的调用。例如,片段:

 "My name is copbot"


应该变成像

 "My name is " + myChatbot.getName()


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

祝好运!

关于java - Chatbot类(服务类)和chatbot客户端(应用程序)类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9354784/

10-10 05:53