2012-04-01 70 views
0
ChatBot Class Modification: 

Modify the reply() method of the ChatBot class to recognize additional words and phrases. 

Part 1: Everyone must complete this section. 

When the userInput parameter value is:  The reply method should return: 
how do I quit       enter quit 
how do I exit       enter quit 
how do I stop       enter quit 
how do I ____       do you really want to do that 
how are you        I'm fine 
how ______        I don't know 

Add two additional words or phrases to recognize and respond to. 

ChatBot Client Modification: 

Modify the ChatBot client application to loop until the end-user enters "quit". 

這裏是我的服務類 /聊天機器人客戶端和類修改

** 
* Java Chatbot Service class 
* @author Blake 
* 3/5/2012 
*/ 

/** 
    * Default constructor. 
    */ 
public class Chatbot 
{ 
    private String name; /** Users name */ 
    private String introbot; /** Name of the Chatbot */ 
    private String reply; /** Replies to the input of the string name and string introbot */ 

    /** 
     * Constructs mutebot object 
     * @param mutebow - returns name of mutebot 
     */ 
    public Chatbot() 
     { 
      name = "MuteBot"; 
     } 


    /** 
    * Changes Name 
    * @param name - new name 
    */ 
    public void setName (String n) 
    { 
    name = n; 
    } 

    /** 
    * Accesses name 
    * @return a brand new name 
    */ 
    public String getName() 
    { 
    return name; 
    } 

    /** 
     * Accesses introbot 
     * @return name of mutebot 
     */ 
    public String introbot() 
    { 
    String intro = "Hello! My name is " + name; 
    return intro; 

    } 

    /** 
     * Accesses replay(String newuserinput) 
     * @return introbot reply to user input 
     */ 
    public String getreply(String newuserinput) 
    { 
     String reply = "I'm just learning to talk"; 

     if (newuserinput.equalsIgnoreCase("What")) 
      reply = "Why do you ask?"; 
     else 
      if (newuserinput.equalsIgnoreCase("Why")) 
      reply = "Why Not"; 
     else 
      if (newuserinput.equalsIgnoreCase("How")) 
      reply = "I don't know!"; 
     else 
      if (newuserinput.equalsIgnoreCase("Where")) 
      reply = "Anne Arundel Community College"; 
     else 
      if (newuserinput.equalsIgnoreCase("When")) 
      reply = "Tomorrow"; 
     else 
      if (newuserinput.equalsIgnoreCase("how do I quit")) 
      reply = "enter quit"; 
     else 
      if (newuserinput.equalsIgnoreCase("how do I exit")) 
      reply = "enter quit"; 
     else 
      if (newuserinput.equalsIgnoreCase("how do I stop")) 
      reply = "enter quit"; 
     else 
      if (newuserinput.equalsIgnoreCase("how are you")) 
      reply = "I'm fine"; 
     else 
      if (newuserinput.equalsIgnoreCase("how do you do")) 
      reply = "I am doing well"; 
     else 
      if (newuserinput.equalsIgnoreCase("how do I get out")) 
      reply = "By going through the door"; 
     else 
      if (newuserinput.indexOf("how do I") ==0) 
      { String substring = newuserinput.substring(8); 

      reply = "do you really want to do that" + substring; 
      } 
     else 
      if (newuserinput.indexOf("how") ==0) 
      { String substring = newuserinput.substring(10); 


      reply = "I don't know" + substring ; 
      } 



     return reply; 

    } 
} 

這裏是我的客戶端/應用程序類

/** 
* Java Chatbot Client class 
* @author Blake 
* 3/5/2012 
*/ 

import java.util.Scanner; 
public class ChatbotClient 
{ 
    public static void main(String[] args) 
    { 
     Scanner input = new Scanner(System.in); 

     Chatbot t = new Chatbot(); 
     System.out.print("What is your name? "); 
     String name = input.nextLine(); 

     System.out.println(t.introbot()); 

     System.out.print(name + "> "); 
     String reply = input.nextLine(); 

     System.out.println(t.getName() + "> " + t.getreply(reply)); 
     //while (reply < quit) 
     /*{ 
      quit++ 
      i = i + 1 

     }*/ 






    } 
} 

我不知道我在做什麼毛病這部分在這裏

修改ChatBot客戶端應用程序循環,直到最終用戶進入 「放棄」。

我想創建一個while循環,它將繼續,直到用戶說退出。

+0

請不要粘貼一些源代碼開始你的問題。先問你的問題。此外,你沒有解釋什麼是錯的。你的問題在哪裏? – Vincent 2012-04-01 05:02:38

回答

0

我想下面的代碼應您的要求工作:

import java.util.Scanner; 
public class ChatbotClient 
{ 
    public static void main(String[] args) 
    { 
     Scanner input = new Scanner(System.in); 

     Chatbot t = new Chatbot(); 
     System.out.print("What is your name? "); 
     String name = input.nextLine(); 

     System.out.println(t.introbot()); 

     System.out.print(name + "> "); 
     String reply = input.nextLine(); 

     while (!reply.equalsIgnoreCase("quit")){ 
     System.out.println(t.getName() + "> " + t.getreply(reply)); 
     System.out.print(name + "> "); 
     reply = input.nextLine(); 
     } 
    } 
}