Guest User

Responder

a guest
Nov 16th, 2020
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.13 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. /**
  4.  * Class yang berisi respon/tanggapan yang nanti akan diberikan kepada user.
  5.  *
  6.  * @author M.Fajri Davyza Chaniago
  7.  * @version 16 November 2020
  8.  */
  9. public class Responder
  10. {
  11.     private Random randomGenerator;
  12.     private ArrayList<String> defaultResponses;
  13.     private HashMap<String, String> responseMap;
  14.    
  15.     public Responder()
  16.     {
  17.         defaultResponses = new ArrayList<String>();  
  18.         responseMap = new HashMap<String, String>();  
  19.         fillResponsesMap();  
  20.         fillDefaultResponse();  
  21.         randomGenerator = new Random();
  22.     }
  23.    
  24.     public String generateResponse(HashSet<String> words)
  25.     {
  26.         for (String word : words)
  27.         {
  28.             String response = responseMap.get(word);
  29.             if (response != null)
  30.             {
  31.                 return response;
  32.             }
  33.         }
  34.        
  35.         return pickDefaultResponse();
  36.     }
  37.    
  38.     private void fillDefaultResponse()
  39.     {
  40.         defaultResponses.add("Maaf, kami tidak mengerti maksud Anda.");
  41.         defaultResponses.add("Bisakah diulang pertanyaan Anda?");
  42.         defaultResponses.add("Silakan mencoba lagi.");
  43.     }
  44.    
  45.     private void fillResponsesMap()
  46.     {
  47.         responseMap.put("lemot", "Laptop/PC banyak aplikasi berat, hapus aplikasi yang tidak perlu.\n");
  48.         responseMap.put("mahal", "Mungkin bisa menabung dulu.\n");
  49.         responseMap.put("baru", "Tentu ada dong. Bisa dilihat-lihat dulu.\n");
  50.         responseMap.put("virus", "Coba di-scan dulu pakai antivirus. Jika memang parah, harus install ulang :(.\n");
  51.         responseMap.put("pagi", "Pagi juga. Ada yang bisa dibantu?\n");
  52.         responseMap.put("siang", "Siang juga. Ada yang bisa dibantu?\n");
  53.         responseMap.put("malam", "Malam juga. Ada yang bisa dibantu?\n");
  54.         responseMap.put("halo", "Halo juga. Ada yang bisa dibantu?\n");
  55.         responseMap.put("hai", "Hai juga. Ada yang bisa dibantu?\n");
  56.     }
  57.    
  58.     private String pickDefaultResponse()  
  59.     {  
  60.         int index = randomGenerator.nextInt(defaultResponses.size());  
  61.         return defaultResponses.get(index);  
  62.     }  
  63. }
Advertisement
Add Comment
Please, Sign In to add comment