多平台统一管理软件接口,如何实现多平台统一管理软件接口
366
2023-01-22
java实现自动回复聊天机器人
本文实例为大家分享了java实现自动回复聊天机器人的具体代码,供大家参考,具体内容如下
聊天机器人
调用网上现有的接口,然后解析数据
以上是演示图片
源码下载地址
基本工作流程就是,调用API,解析返回的数据
HttpUtil类,调用API,获取返回的数据
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 =DTNgnv= null) {
INSTANCE = new HttpUtil();
}
return INSTANCE;
}
private HttpUtil() {
}
public String sendRequest2API(String msg) {
if DTNgnv(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;
}
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~