2017-07-15 4 views
-1

Je suis chargé de créer un simple chatbot qui permet à un utilisateur de créer des questions et des réponses, qui seront ensuite stockées dans deux tableaux. Ainsi, chaque fois que l'utilisateur saisit la même question, le chatbot pourra imprimer la réponse.#Java Aide. Créer un chatbot simple qui permet à l'utilisateur de créer ses propres questions et réponses

Par exemple, Ma course prévue est: Bot: 1ère question que vous souhaitez créer. Utilisateur: Quel est mon nom? Bot: et la réponse est? utilisateur: Tom Bot: 2ème question que vous voulez créer. utilisateur: Quelle est ma taille? Bot: et la réponse est? Vous: 179cm Vous: Quelle est ma taille? Bot: 179cm Vous: Quel est mon nom? Bot: Tom

Voici mon code source:

public static void main (String [] args) {

 String reply = ""; 
     String[] storeQuestions = new String [100]; 
     String[] storeAnswers = new String [100]; 

     do { 
      /* first question*/ 
      System.out.println("Bot: 1st question that you want to create."); 
      Scanner input = new Scanner (System.in); 
      System.out.print("You: "); 
      String createQuestion = input.nextLine(); // change to string 
      System.out.println("Bot: and the response is?"); 
      System.out.print("You: "); 
      String answer = input.nextLine(); 

      /* storing question and answer into the two arrays */ 
      storeQuestions[0] = createQuestion; 
      storeAnswers[0] = answer; 

      /* second question */ 
      System.out.println("Bot: 2nd question that you want to create."); 
      System.out.print("You: "); 
      createQuestion = input.nextLine(); 
      System.out.println("Bot: and the response is?"); 
      System.out.print("You: "); 
      answer = input.nextLine(); 

      storeQuestions[1]= createQuestion; 
      storeAnswers[1] = answer; 
      System.out.print("You: "); 
      reply = input.nextLine(); 

      if(storeQuestions[0]==createQuestion) { 
       System.out.println("Bot: "+storeAnswers[0]); 
      } 
      else if (storeQuestions[1]==createQuestion) { 
       System.out.println("Bot: "+storeAnswers[1]); 
      } 
     }while(reply!="bye");    
}  

}

+1

utilisation 'égaux (String)' une autre pour comparer des chaînes. À part ça, on ne sait pas non plus quel est le problème auquel vous faites face. –

Répondre

-1

L'opérateur == compare les codes de hachage des deux objets. Comme ils peuvent ne pas être les mêmes pour deux chaînes (même si elles sont identiques), vous devez vérifier le caractère par caractère. Une méthode intégrée qui peut le faire pour vous est String.equals(). Si les majuscules et les minuscules n'ont pas d'importance, vous utiliserez String.equalsIgnoreCase().

Exemples:

"test".equals("test")   true 
"TEST".equals("test")   false 
"TEST".equalsIgnoreCase("test") true