チャットボットクラス:チャットボットクラス(サービスクラス)とチャットボットクライアント(アプリケーション)クラス
チャットボットは、1つまたは複数の人間と知的な会話をシミュレートするように設計されたコンピュータプログラムです。このラボでは、セミスター全体を通して強化されるチャットボットのフレームワークを確立します。
ChatBotクラスは、チャットボットを識別する名前フィールドを定義します(あなたのチャットボットの名前を任意に指定します)。これは不変フィールドです。 nameフィールドにはアクセサメソッドのみが必要です。名前フィールドは、デフォルトのコンストラクタで設定する必要があります。
ChatBotクラスは、チャットボットの名前を含む紹介メッセージを返す2つの追加メソッドを定義します。もう一方はStringを受け取り、String応答を生成します。この時点で、replyメソッドは常に同じメッセージを返します。
これは、UMLダイアグラムは
チャットボット(クラスまたはコンストラクタ)
マイナスのように見えるものである - 名前(プライベート):文字列
プラス(+パブリック)のgetName():文字列
plus(+ public)introbot():String
plus public public reply(userInput:String):String
ChatBotクライアント:
クライアントアプリケーションは、最終使用とチャットボットの間のチャットを管理します。クライアントは、エンドユーザーのコメントを取得し、チャットボットに渡し、チャットボットの応答を取得して表示する役割を担います。ユーザーまたはチャットボックスの名前を入力プロンプトとして使用する必要があります。以下は、クライアントの実行例である:
は、あなたの名前を入力してください:ジェフ
こんにちは!私の名前はmutebot
ジェフ>ハロー
mutebotです>私は、これはこれは
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 ");
}
}
私のアプリケーションクラスです
/*
* 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;
}
}
私のサービスクラスである
を話すことを学んでいます
これがまさに問題が尋ねられているか要求されているか正確にはわかりません。これがそれを行う方法であれば。
私はサービスクラスは大丈夫かもしれないと思いますが、アプリケーションクラスについてはあまりよく分かりません。それはあなたのアクセサやミューテータなどを行う場所であるため、あなたはフィールドとサービスクラス内のインスタンス
あなたはチャットボットに破線のインポートがあったと言っていましたが、それはどういう意味ですか、セッターメソッドを持っていると読んだ部分だけは、サービスクラスからセット名文字列を削除する必要があります。 – blake
あなたのコメントのすぐ下に、「インポート」と書かれた行があります。インポート文には、その直後にパッケージ名が必要です。たとえば、 "import java.util.Scanner;"あなたの2番目のコードスニペットの行。そして、「名前」を読み込み専用にしたい場合は、setName()メソッドを使用しないでください。 – Erica
私は、インポートが偶然(私の間違い)であったので、セット名メソッドを削除したらどうすればいいのでしょうか? nameは最後の変数なので、nameのsetterメソッドを削除し、getnameメソッドを最後の変数として残します。 – blake