Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Class ini akan membuat respon otomatis
- * HashMap digunakan untuk mengasosiasikan kata dengan respons string dan daftar tanggapan default.
- * Tanggapan default akan dipilih secara acak
- * @author (Dewi Mardani C.)
- * @version (07/11/2020)
- */
- import java.util.*;
- public class Responder
- {
- private HashMap<String,String> responseMap;
- private ArrayList<String> defaultResponse;
- private Random randomGenerator;
- public Responder()
- {
- responseMap = new HashMap<String, String>();
- defaultResponse = new ArrayList<String>();
- fillResponseMap();
- fillDefaultResponses();
- randomGenerator = new Random();
- }
- public String generateResponse(HashSet<String> words)
- {
- for(String word : words)
- {
- String response = responseMap.get(word);
- if(response != null)
- {
- return response;
- }
- }
- return pickDefaultResponse();
- }
- private void fillResponseMap()
- {
- responseMap.put("halo", "halo, apakabar?");
- responseMap.put("sedih", "jangan bersedih, percayalah setiap masalah pasti ada jalan keluarnya, apakah ada yang bisa saya bantu?");
- responseMap.put("kesulitan" , "apa faktor yang membuat kamu kesulitan?");
- responseMap.put("organisasi", "sebagai mahasiswa kita memang dituntut untuk bisa membagi waktu antara belajar dan berorganisasi");
- responseMap.put("saran", "kamu bisa membuat jadwal perpekan agar kegiatanmu bisa berjalan lancar semuanya");
- }
- private void fillDefaultResponses()
- {
- defaultResponse.add("bisa ceritakan lebih detail lagi");
- defaultResponse.add("Mohon maaf saya kurang mengerti maksud anda");
- }
- private String pickDefaultResponse()
- {
- int index = randomGenerator.nextInt(defaultResponse.size());
- return defaultResponse.get(index);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment