Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- /**
- * The responder class represents a response-generator object.
- * It is used to generate an automatic response to an input string.
- *
- * @author Muhammad Bagus Istighfar
- * @version 0.1 - 11 November 2020
- */
- public class Responder
- {
- private Random randomGenerator;
- private ArrayList<String> defaultResponses;
- private HashMap<String, String> responseMap;
- /**
- * Create a responder.
- */
- public Responder()
- {
- defaultResponses = new ArrayList<String>();
- responseMap = new HashMap<String, String>();
- fillResponses();
- fillDefaultResponses();
- randomGenerator = new Random();
- }
- /**
- * Generate a response.
- * @return A string that should be displayed as the response.
- */
- public String generateResponse(HashSet<String> words)
- {
- for(String word : words)
- {
- String response = responseMap.get(word);
- if(response != null)
- {
- return response;
- }
- }
- return pickDefaultResponse();
- }
- /**
- * Build up a list of default responses from which we can pick one
- * if we don't know what else to say.
- */
- private void fillResponses()
- {
- responseMap.put("halo", "Haloo!!!" + "Bagaimana kabarmu?");
- responseMap.put("buruk", "Apakah kamu sakit? :(");
- responseMap.put("sedih", "Semoga harimu lekas membaik ya!" + "Jadikan harimu sebagai pembelajaran");
- responseMap.put("baik", "Wawww, aku juga ikut senang.");
- responseMap.put("tidak", "oh, okee.");
- responseMap.put("kamu", "Aku ChatSkuy, yang akan menemani hari - harimu");
- responseMap.put("kasih", "Sudah menjadi tugasku");
- }
- private void fillDefaultResponses()
- {
- defaultResponses.add("Maaf saya tidak mengerti ");
- defaultResponses.add("Coba lagi");
- }
- private String pickDefaultResponse()
- {
- int index = randomGenerator.nextInt(defaultResponses.size());
- return defaultResponses.get(index);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment