2012-06-18 3 views
1

Im новый, извините, если мой вопрос хромой.сравнение ввода edittext в массив строк

Но, им пытаются сделать Chatbot AI (например, более простая версия Cleverbot, которая реагирует на определенные входные ключевые слова.)

У меня есть панель EditText, которую пользователь будет вводить слова «говорить» на ИИ. Но вместо того, чтобы кодировать каждое слово в java-файле, я хочу сравнить ввод строки с существующим строковым массивом, чтобы проверить, есть ли ключевое слово, и чтобы ИИ мог отображать ответ, отвечающий на запросы.

пример:

если вход: Hellothere!

и на массиве строк есть: Hello.

и:

Если EditText = Здравствуйте, затем отображать это: бла-бла.

Вот мой (дилетантский) код:

public void onClick(View v){ 


     Resources res = getResources(); 
     String[] usernames = res.getStringArray(R.array.input2); 
    boolean submit_check = input1(wordy, usernames); 
     public boolean input1(String wordy, String[] input2){ 

      if(candidate.equals(usernames)) 
      { 


       wahh.start(); 
      myString = res.getStringArray(R.array.OUTPUT); 
      pic.setImageResource(R.drawable.keel); 
      String q = myString[rgenerator.nextInt(myString.length)]; 
      display.setText(q); 
      } 

      else{ 
       wahh.start(); 
       pic.setImageResource(R.drawable.keel); 
       myString = res.getStringArray(R.array.OUTPUT); 
      String q = myString[rgenerator.nextInt(myString.length)]; 
      display.setText(q); 
      } 

ответ

0

Я думаю, что вы хотите что-то больше вдоль линий этого (псевдокод):

if(EditText.getText().Contains("Hello")) { 
    EditText.setText("What's up?"); 
} 

Вы хотели бы проверьте, содержит ли он выбор из массива. Если это так, получите индекс массива. Исходя из этого индекса, ответьте соответствующим образом. Самый простой способ сделать это - использовать цикл for и оператор switch. Хотя ИИ на самом деле намного сложнее, чем это, и мои знания.

+0

Спасибо! Я буду работать над этим! ^^ –

Смежные вопросы