我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java怎么实现聊天机器人

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java怎么实现聊天机器人

小编给大家分享一下Java怎么实现聊天机器人,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

具体内容如下

Java怎么实现聊天机器人

Client代码:

package GUISocket.chat.Client;import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.EventQueue; import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JTextField;import javax.swing.DefaultListModel;import javax.swing.JButton;import javax.swing.JTextArea;import javax.swing.JScrollPane;import javax.swing.ScrollPaneConstants;import javax.swing.border.EmptyBorder; import java.awt.event.ActionListener;import java.awt.event.ActionEvent; public class ClientForm extends JFrame {  private JPanel contentPane; DefaultListModel<String> itemUsers; private JTextField textIP; private JTextField textPort; public JTextField textUser; public JTextArea textLog; public JList listUser; public JTextArea textSend ; public static void main(String[] args) {  EventQueue.invokeLater(new Runnable() {   public void run() {    try {     ClientForm frame = new ClientForm();     frame.setVisible(true);     ClientMG.getClientMG().setClientForm(frame);    } catch (Exception e) {     e.printStackTrace();    }   }  }); } public ClientForm() {  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  setBounds(100, 100, 589, 607);  contentPane = new JPanel();  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));  setContentPane(contentPane);  contentPane.setLayout(null);    JLabel label = new JLabel("配置信息");  label.setBounds(10, 10, 54, 15);  contentPane.add(label);    JLabel lblIp = new JLabel("IP");  lblIp.setBounds(10, 35, 27, 15);  contentPane.add(lblIp);    textIP = new JTextField();  textIP.setText("192.168.1.6");  textIP.setBounds(33, 35, 92, 21);  contentPane.add(textIP);  textIP.setColumns(10);    JLabel label_1 = new JLabel("端口");  label_1.setBounds(137, 35, 38, 15);  contentPane.add(label_1);    textPort = new JTextField();  textPort.setText("8900");  textPort.setBounds(168, 32, 66, 21);  contentPane.add(textPort);  textPort.setColumns(10);    JLabel label_2 = new JLabel("用户名");  label_2.setBounds(255, 38, 54, 15);  contentPane.add(label_2);    textUser = new JTextField();  textUser.setBounds(302, 35, 66, 21);  contentPane.add(textUser);  textUser.setColumns(10);    JButton LOGIN = new JButton("登录");  LOGIN.setBounds(395, 34, 66, 23);  contentPane.add(LOGIN);    JButton btnClose = new JButton("关闭");  btnClose.setBounds(480, 31, 71, 23);  contentPane.add(btnClose);    JPanel panel = new JPanel();  panel.setBounds(0, 10, 573, 61);  contentPane.add(panel);  panel.setLayout(null);    JPanel panel_1 = new JPanel();  panel_1.setBounds(0, 81, 573, 369);  contentPane.add(panel_1);  panel_1.setLayout(null);    JLabel label_3 = new JLabel("聊天记录");  label_3.setBounds(10, 10, 54, 15);  panel_1.add(label_3);    JScrollPane scrollPane = new JScrollPane();  scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);  scrollPane.setBounds(20, 35, 323, 324);  panel_1.add(scrollPane);    textLog = new JTextArea();  textLog.setWrapStyleWord(true);  textLog.setLineWrap(true);  scrollPane.setViewportView(textLog);    JLabel label_4 = new JLabel("在线用户");  label_4.setBounds(351, 10, 54, 15);  panel_1.add(label_4);    JScrollPane scrollPane_1 = new JScrollPane();  scrollPane_1.setBounds(353, 35, 210, 324);  panel_1.add(scrollPane_1);      this.itemUsers=new DefaultListModel<String>();  this.listUser=new JList(itemUsers);  scrollPane_1.setViewportView(this.listUser);      JPanel panel_2 = new JPanel();  panel_2.setBounds(10, 449, 553, 119);  contentPane.add(panel_2);  panel_2.setLayout(null);    JLabel label_5 = new JLabel("操作");  label_5.setBounds(10, 10, 54, 15);  panel_2.add(label_5);    JScrollPane scrollPane_2 = new JScrollPane();  scrollPane_2.setBounds(10, 22, 533, 64);  panel_2.add(scrollPane_2);    textSend = new JTextArea();  textSend.setWrapStyleWord(true);  textSend.setLineWrap(true);  scrollPane_2.setViewportView(textSend);    JButton button_1 = new JButton("群发");  button_1.addActionListener(new Button_1ActionListener());  button_1.setBounds(307, 86, 93, 23);  panel_2.add(button_1);    JButton sendMG = new JButton("发送");  sendMG.addActionListener(new SendMGActionListener());  sendMG.setBounds(432, 86, 93, 23);  panel_2.add(sendMG);    LOGIN.addActionListener(new ActionListener() {   public void actionPerformed(ActionEvent e) {    //连接服务器user    String IP=textIP.getText().trim();    int port=Integer.parseInt(textPort.getText().trim());    String user=textUser.getText().trim();        if(ClientMG.getClientMG().Connect(IP,port,user)) {     ClientMG.getClientMG().setLogTxt("已经连接到服务器");         }    else {     ClientMG.getClientMG().setLogTxt("连接服务器失败");    }   }  }); } private class SendMGActionListener implements ActionListener {  public void actionPerformed(ActionEvent e) {      //发送信息   //1.获取选择的用户名称   //2.发送给服务器端含有接收用户信息的交互协议串   String SenderName=ClientMG.getClientMG().getClientThd().getName();   String RecName=listUser.getSelectedValue().toString();   String MSGinfo=textSend.getText().trim();      String sMsg="MSG|"+SenderName+"|"+RecName+"|"+MSGinfo;   ClientMG.getClientMG().getClientThd().sendMsg(sMsg);   //将消息内容显示到聊天记录中   //[发送者]   //消息内容   //清空发送消息框   ClientMG.getClientMG().setLogTxt("[我]:");   ClientMG.getClientMG().setLogTxt(MSGinfo);      textSend.setText("");  } } private class Button_1ActionListener implements ActionListener {  public void actionPerformed(ActionEvent e) {   //群发信息   //1.获取选择的用户名称   //2.发送给服务器端含有接收用户信息的交互协议串   //发送到服务器,MSG|SenderName|RecName|MSGInfo   String SenderName=ClientMG.getClientMG().getClientThd().getName();   String RecName="ALL";   String MSGinfo=textSend.getText().trim();      String sMsg="MSG|"+SenderName+"|"+RecName+"|"+MSGinfo;   ClientMG.getClientMG().getClientThd().sendMsg(sMsg);   //将消息内容显示到聊天记录中   //[发送者]   //消息内容   //清空发送消息框   ClientMG.getClientMG().setLogTxt("[我]:");   ClientMG.getClientMG().setLogTxt(MSGinfo);      textSend.setText("");  } }  }

ClientMG代码:

package GUISocket.chat.Client; import java.net.Socket;  public class ClientMG { private static final ClientMG clientmg=new ClientMG(); private ClientMG() {} public static ClientMG getClientMG() {  return clientmg; }  private ClientForm clientWin; public void setClientForm(ClientForm c) {  clientWin=c; }  public void setLogTxt(String str) {  clientWin.textLog.append(str+"\r\n");   }  public void addItem(String user) {    clientWin.itemUsers.addElement(user); }  public void addItems(String[] users) {  for(int i=0;i<users.length;i++) {   clientWin.itemUsers.addElement(users[i]);  }  }  SocketThread sthd; public boolean Connect(String IP,int port,String user) {  Socket socket=null;  try {   socket=new Socket(IP,port);   sthd=new SocketThread(socket, user);   sthd.start();   return true;  } catch (Exception e) {   // TODO: handle exception   e.printStackTrace();   return false;  } }  public SocketThread getClientThd() {  return sthd; }}

SocketThread代码:

package GUISocket.chat.Client; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.Socket;   public class SocketThread extends Thread{ BufferedReader br=null; PrintWriter pw=null; Socket socket=null;  public SocketThread(Socket socket,String user){  super(user);//登录时用的用户名  this.socket=socket; }  public void run() {  try {   br=new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8"));   pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8")));   String sLOGIN="LOGIN|"+this.getName();   sendMsg(sLOGIN);      String str="";   while((str=br.readLine())!=null) {    String[] commands=str.split("\\|");    if(commands[0].equals("USERLISTS")) {//USERLISTS|user1_user2_user3     String[] sUsers=commands[1].split("\\_");     ClientMG.getClientMG().addItems(sUsers);    }    else if(commands[0].equals("ADD")) {//ADD|UserName     String sNewUser=commands[1];     ClientMG.getClientMG().addItem(sNewUser);    }    else if(commands[0].equals("MSG")) {//格式 MSG|SenderName|MSGinfo     String SenderName=commands[1];     String MSGinfo=commands[2];     //将消息内容显示到聊天记录中     //[发送者]     //消息内容     ClientMG.getClientMG().setLogTxt("["+SenderName+"]");     ClientMG.getClientMG().setLogTxt(MSGinfo);    }    //ClientMG.getClientMG().setLogTxt(str);       }  } catch (Exception e) {   // TODO: handle exception   e.printStackTrace();  }finally {   try {    if(pw!=null)     pw.close();    if(br!=null)     br.close();    if(socket!=null)     socket.close();   } catch (Exception e2) {    // TODO: handle exception   }  } } public void sendMsg(String str) {  pw.println(str);  pw.flush(); }}

ServerForm代码:

package GUISocket.chat.Server;import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.EventQueue; import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JButton;import javax.swing.JTextArea;import javax.swing.JScrollPane;import javax.swing.ScrollPaneConstants;import javax.swing.border.EmptyBorder;  import java.awt.event.ActionListener;import java.awt.event.ActionEvent; public class ServerForm extends JFrame {   private JPanel contentPane; public JTextArea textLog; private JTextField textPort; public static void main(String[] args) {  EventQueue.invokeLater(new Runnable() {   public void run() {    try {     ServerForm frame = new ServerForm();     frame.setVisible(true);     ServerMG.getServerMG().setServerForm(frame);    } catch (Exception e) {     e.printStackTrace();    }   }  }); }    public ServerForm() {  setTitle("多人聊天服务器");  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  setBounds(100, 100, 510, 566);  contentPane = new JPanel();  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));  setContentPane(contentPane);  contentPane.setLayout(null);    JLabel lblNewLabel = new JLabel("配置信息");  lblNewLabel.setBounds(20, 10, 54, 15);  contentPane.add(lblNewLabel);    JLabel label = new JLabel("端口:");  label.setBounds(30, 34, 39, 15);  contentPane.add(label);    textPort = new JTextField();  textPort.setText("8900");  textPort.setBounds(65, 31, 66, 21);  contentPane.add(textPort);  textPort.setColumns(10);    JButton btnStart = new JButton("开启服务");  btnStart.addActionListener(new BtnStartActionListener());  btnStart.setBounds(180, 30, 93, 23);  contentPane.add(btnStart);    JButton btnClose = new JButton("关闭服务");  btnClose.addActionListener(new BtnCloseActionListener());  btnClose.setBounds(325, 30, 93, 23);  contentPane.add(btnClose);    JPanel panel = new JPanel();  panel.setBounds(10, 10, 474, 54);  contentPane.add(panel);  panel.setLayout(null);    JLabel label_1 = new JLabel("消息记录");  label_1.setBounds(10, 94, 54, 15);  contentPane.add(label_1);    JPanel panel_1 = new JPanel();  panel_1.setBounds(0, 81, 474, 436);  contentPane.add(panel_1);  panel_1.setLayout(null);    JScrollPane scrollPane = new JScrollPane();  scrollPane.setBounds(10, 41, 464, 368);  panel_1.add(scrollPane);  scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);    textLog = new JTextArea();  textLog.setLineWrap(true);  textLog.setWrapStyleWord(true);  scrollPane.setViewportView(textLog);       } private class BtnCloseActionListener implements ActionListener {  public void actionPerformed(ActionEvent e) {     } } private class BtnStartActionListener implements ActionListener {  public void actionPerformed(ActionEvent e) {   //开启服务         int port=Integer.parseInt(textPort.getText().trim());      if(ServerMG.getServerMG().CreateServer(port)) {     ServerMG.getServerMG().setLogTxt("服务器开启...");   }   else {    ServerMG.getServerMG().setLogTxt("服务器开启失败...");   }  } }}

ServerListener代码:

package GUISocket.chat.Server; import java.net.ServerSocket;import java.net.Socket; public class ServerListener extends Thread{ Socket socket=null; ServerSocket server=null; public ServerListener(ServerSocket server) {  this.server=server; } public void run() {  try {   while(true) {    socket=server.accept();    ServerMG.getServerMG().setLogTxt("客户端: "+socket);      new SocketThread(socket).start();   }     } catch (Exception e) {   // TODO: handle exception   e.printStackTrace();  } } }

SeverMG代码:

package GUISocket.chat.Server; import java.net.ServerSocket;import java.net.Socket;import java.util.ArrayList; import javax.swing.JTextArea; public class ServerMG { private static final ServerMG servermg=new ServerMG(); private ServerMG() {} public static ServerMG getServerMG() {  return servermg;   }  //主界面的操作 private ServerForm serverWin;  //将窗体对象注册到管理类当中 public void setServerForm(ServerForm s) {  serverWin=s; } //设置主界面 public void setLogTxt(String str) {  serverWin.textLog.append(str+"\r\n"); }  private ServerSocket server; public boolean CreateServer(int port) {  try {      server=new ServerSocket(port);   new ServerListener(server).start();   return true;  } catch (Exception e) {   // TODO: handle exception   e.printStackTrace();   return false;  } }  //ArrayList操作 ArrayList<SocketThread> a1OnlineList=new ArrayList<>();//存放所有和 public synchronized void addList(SocketThread sc) {  //限制重名  a1OnlineList.add(sc); }  public void clearList() {  a1OnlineList.clear(); }  public synchronized void removeList(SocketThread sc) {  for(int i=0;i<a1OnlineList.size();i++) {   SocketThread s=a1OnlineList.get(i);   if(s.equals(sc)) {    a1OnlineList.remove(sc);    break;   }  } }  //信息的管理 public void getOnlineNames(SocketThread sc) {  //非第1次登录时,得到所有的在线用户  if(a1OnlineList.size()>0) {   String sUsers="";//给客户端,USERLISTS|user1_user2_user3   for(int i=0;i<a1OnlineList.size();i++) {    SocketThread s=a1OnlineList.get(i);    sUsers+=s.getName()+"_";   }   sc.sendMsg("USERLISTS|"+sUsers);  }   } public void sendNewUsertoAll(SocketThread sc) {  for(int i=0;i<a1OnlineList.size();i++) {   SocketThread s=a1OnlineList.get(i);   s.sendMsg("ADD|"+sc.getName());  } } //通过Mame用户名查找目标 public SocketThread getSocketThreadByName(String sName) {  for(int i=0;i<a1OnlineList.size();i++) {   SocketThread s=a1OnlineList.get(i);   if(s.getName().equals(sName)) {    return s;   }  }  return null; }  //发送给所有人,但是要排除自身 public void sendMsgtoAll(String sMsg,SocketThread sc) {  for(int i=0;i<a1OnlineList.size();i++) {   SocketThread s=a1OnlineList.get(i);   if(!s.equals(sc)) {    s.sendMsg(sMsg);   }  } }  }

SocketThread代码:

package GUISocket.chat.Server; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.Socket; public class SocketThread extends Thread{ BufferedReader br=null; PrintWriter pw=null; Socket socket=null; public SocketThread(Socket socket) {  this.socket = socket; }  public void run() {  try {   br=new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8"));   pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8")));   String str="";   while((str=br.readLine())!=null) {//循环响应客户的发送信息//接受客户端发过来的信息    String [] commands=str.split("\\|");        if(commands[0].equals("LOGIN")) {//解析登录请求,格式,LOGIN|UserName     String sUSER=commands[1];     this.setName(sUSER);//将用户名信息放入Threadname中     //1.得到所有在线用户信息名称,发回客户端:USERLISTS|user1_user2_user3     ServerMG.getServerMG().getOnlineNames(this);     //2.将当前登录用户的信息(用户名),发送给已经在线的其他用户,ADD|userName          ServerMG.getServerMG().sendNewUsertoAll(this);     //3.将当前登录的Socket信息放入ArrayList中     ServerMG.getServerMG().addList(this);         }    else if(commands[0].equals("MSG")) {//格式:MSG|SenderName|RecName|MSGoinfo     String SenderName=commands[1];     String RecName=commands[2];     String MSGinfo=commands[3];     //群聊     if(RecName.equals("ALL")) {      String sMsg="MSG!"+SenderName+"|"+MSGinfo;//格式:MSG|SenderName|MSGinfo      ServerMG.getServerMG().sendMsgtoAll(sMsg,this);      ServerMG.getServerMG().setLogTxt(SenderName+"发送信息["+MSGinfo+"]到所有人。");     }     //私聊      else {       //通过RecName用户名查找,找到目标SocketThread       SocketThread sc=ServerMG.getServerMG().getSocketThreadByName(RecName);       if(sc!=null) {        //目标对象发送信息,MSG|SenderName|MSGinfo        String sMsg="MSG!"+SenderName+"|"+MSGinfo;        sc.sendMsg(sMsg);                //写入信息日志        ServerMG.getServerMG().setLogTxt(SenderName+"发送信息["+MSGinfo+"]到"+RecName);      }            }    }           }  } catch (Exception e) {   e.printStackTrace();  }finally {   try {    if(pw!=null)     pw.close();    if(br!=null)     br.close();    if(socket!=null)     socket.close();   } catch (Exception e2) {    // TODO: handle exception   }  } } public void closeChat() {  try {   if(pw!=null)    pw.close();   if(br!=null)    br.close();   if(socket!=null)    socket.close();  } catch (Exception e) {   e.printStackTrace();  } } public void sendMsg(String str) {  pw.println(str);  pw.flush(); }}

实现结果如下:

Java怎么实现聊天机器人

Java怎么实现聊天机器人

以上是“Java怎么实现聊天机器人”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java怎么实现聊天机器人

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java怎么实现聊天机器人

小编给大家分享一下Java怎么实现聊天机器人,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下Client代码:package GUISocket.cha
2023-06-20

Java中怎么实现聊天机器人

小编给大家分享一下Java中怎么实现聊天机器人,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下服务器的代码:package Day02;import j
2023-06-20

Java怎么实现简单聊天机器人

这篇文章主要为大家展示了“Java怎么实现简单聊天机器人”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java怎么实现简单聊天机器人”这篇文章吧。具体内容如下整个小案例:整合了Java sock
2023-06-20

怎么用Ajax实现聊天机器人

本篇内容介绍了“怎么用Ajax实现聊天机器人”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 功能实现:点击发送按钮事件将用户输入的内容渲染到
2023-06-25

python怎么实现语音聊天机器人

要实现一个语音聊天机器人,你可以使用Python中的语音识别和语音合成库来实现。首先,你需要一个能够将语音转换为文字的语音识别库。其中一个流行的语音识别库是SpeechRecognition。你可以使用pip安装它:```pip insta
2023-08-31

怎么用Python实现聊天机器人项目

本篇内容主要讲解“怎么用Python实现聊天机器人项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python实现聊天机器人项目”吧!先决条件为了实现聊天机器人,将使用一个深度学习库Ke
2023-06-16

Python中怎么实现一个聊天机器人

Python中怎么实现一个聊天机器人,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 创建虚拟环境pipenv是一个轻松创建虚拟环境的python库。pip install
2023-06-16

java怎么实现多人聊天对话室

这篇文章给大家分享的是有关java怎么实现多人聊天对话室的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用ServerSocket和Socket实现服务器端和客户端的Socket通信。了解完socket通信步骤后
2023-06-20

案例:python实现聊天机器人

import pickledata = {"你有女朋友吗":"没有","我们可以交往吗":"可以","今晚约不约":"约","去哪家餐厅":"麦当劳"} with open("db.pkl",'wb') as f: f.write
2023-01-31

怎么使用Java NIO实现多人聊天室

本篇内容主要讲解“怎么使用Java NIO实现多人聊天室”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Java NIO实现多人聊天室”吧!NIO服务端public class NioSe
2023-06-21

怎么使用python+Word2Vec实现中文聊天机器人

本篇内容主要讲解“怎么使用python+Word2Vec实现中文聊天机器人”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用python+Word2Vec实现中文聊天机器人”吧! 1. 准备
2023-07-05

jQuery如何实现Ajax聊天机器人

小编给大家分享一下jQuery如何实现Ajax聊天机器人,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:实现步骤:1.梳理案例的代码结构a.梳理页面的UI布局b.将业务代码抽离到chat.js中c.了解resetu
2023-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录