• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

java实现自动回复聊天机器人

java 搞代码 4年前 (2022-01-05) 28次浏览 已收录 0个评论

这篇文章主要为大家详细介绍了java实现自动回复聊天机器人,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现自动回复聊天机器人的具体代码,供大家参考,具体内容如下

聊天机器人

调用网上现有的接口,然后解析数据

以上是演示图片

源码下载地址

基本工作流程就是,调用API,解析返回的数据

HttpUtil类,调用API,来源gao@dai!ma.com搞$代^码网获取返回的数据

 package com; import com.sun.org.apache.bcel.internal.generic.INSTANCEOF; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; /** * Created by zf on 2017/2/27. */ public class HttpUtil { private static final String API = "xxxxxxxxxxxxxxxxx"; private static String MSG; private static HttpUtil INSTANCE; public static HttpUtil getInstance() { if (INSTANCE == null) { INSTANCE = new HttpUtil(); } return INSTANCE; } private HttpUtil() { } public String sendRequest2API(String msg) { if (msg.length() > 0) { this.MSG = msg; HttpURLConnection connection = null; StringBuilder response = new StringBuilder(); try { URL url = new URL(API + MSG); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(8000); connection.setReadTimeout(8000); InputStream in = connection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); String line; while ((line = reader.readLine()) != null) { response.append(line); } } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { connection.disconnect(); } return response.toString(); } } return null; } } 

UI类,界面

 package com; import com.google.gson.Gson; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Date; /** * Created by zf on 2017/2/27. */ public class MainUI { private JFrame jFrame; private JPanel jPanel; private JButton sendMsgBtn; private JTextArea msgTextArea; private JTextArea historyTextArea; private static String MSG; private static StringBuilder history = new StringBuilder(); public MainUI() { jFrame = new JFrame("自动聊天"); jPanel = new JPanel(); sendMsgBtn = new JButton("发送"); msgTextArea = new JTextArea("这里发生消息"); historyTextArea = new JTextArea(20,20); historyTextArea.setBackground(new Color(255, 255, 255)); jPanel.add(historyTextArea); jPanel.add(msgTextArea); jPanel.add(sendMsgBtn); jFrame.add(jPanel); jFrame.setSize(500, 500); jFrame.setLocationRelativeTo(null); jFrame.setVisible(true); sendMsgBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { MSG = msgTextArea.getText(); history.append("我:" + "\n" + MSG + "\n"); Gson gson = new Gson(); RobotAnswer robotAnswer = gson.fromJson(HttpUtil.getInstance().sendRequest2API(MSG), RobotAnswer.class); history.append(robotAnswer.getAnswer()); historyTextArea.setText(history.toString()); System.out.println(history); } }); } public static void main(String[] args) { new MainUI(); } } 

机器人回复类

 package com; import java.util.Date; /** * Created by zf on 2017/2/27. */ public class RobotAnswer { private int result; private String content; private String answer; public RobotAnswer() { } public String getAnswer() { if (result == 0) { answer = "AI:" + "\n" + content; } else { answer = "....."; } return answer; } } 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持gaodaima搞代码网

以上就是java实现自动回复聊天机器人的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java实现自动回复聊天机器人

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址