dewimardanic

Untitled

Nov 9th, 2020 (edited)
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.96 KB | None | 0 0
  1. /**
  2.  * Class ini akan membuat respon otomatis
  3.  * HashMap digunakan untuk mengasosiasikan kata dengan respons string dan daftar tanggapan default.
  4.  * Tanggapan default akan dipilih secara acak
  5.  * @author (Dewi Mardani C.)
  6.  * @version (07/11/2020)
  7.  */
  8.  
  9. import java.util.*;
  10. public class Responder
  11. {
  12.     private HashMap<String,String> responseMap;
  13.     private ArrayList<String> defaultResponse;
  14.     private Random randomGenerator;
  15.    
  16.     public Responder()
  17.     {
  18.         responseMap = new HashMap<String, String>();
  19.         defaultResponse = new ArrayList<String>();
  20.         fillResponseMap();
  21.         fillDefaultResponses();
  22.         randomGenerator = new Random();
  23.     }
  24.    
  25.     public String generateResponse(HashSet<String> words)
  26.     {
  27.         for(String word : words)
  28.         {
  29.             String response = responseMap.get(word);
  30.             if(response != null)
  31.                 {
  32.                     return response;
  33.                 }
  34.         }
  35.         return pickDefaultResponse();
  36.     }
  37.    
  38.     private void fillResponseMap()
  39.     {
  40.         responseMap.put("halo", "halo, apakabar?");
  41.         responseMap.put("sedih", "jangan bersedih, percayalah setiap masalah pasti ada jalan keluarnya, apakah ada yang bisa saya bantu?");
  42.         responseMap.put("kesulitan" , "apa faktor yang membuat kamu kesulitan?");
  43.         responseMap.put("organisasi", "sebagai mahasiswa kita memang dituntut untuk bisa membagi waktu antara belajar dan berorganisasi");
  44.         responseMap.put("saran", "kamu bisa membuat jadwal perpekan agar kegiatanmu bisa berjalan lancar semuanya");
  45.     }
  46.    
  47.     private void fillDefaultResponses()
  48.     {
  49.         defaultResponse.add("bisa ceritakan lebih detail lagi");
  50.         defaultResponse.add("Mohon maaf saya kurang mengerti maksud anda");
  51.     }    
  52.    
  53.    private String pickDefaultResponse()
  54.     {
  55.         int index = randomGenerator.nextInt(defaultResponse.size());
  56.         return defaultResponse.get(index);
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment