Java实现聊天机器人的代码怎么写
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本文小编为大家详细介绍"Java实现聊天机器人的代码怎么写",内容详细,步骤清晰,细节处理妥当,希望这篇"Java实现聊天机器人的代码怎么写"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
千家信息网最后更新 2025年12月01日Java实现聊天机器人的代码怎么写
本文小编为大家详细介绍"Java实现聊天机器人的代码怎么写",内容详细,步骤清晰,细节处理妥当,希望这篇"Java实现聊天机器人的代码怎么写"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
服务器的代码:
package Day02;import java.io.*;import java.net.*; public class Socket1 { public static void main(String[] args) throws Exception{ int port=8899; ServerSocket server=null; MChat MC=new MChat(); try { server=new ServerSocket(port); System.out.println("服务器启动..."); while(true) { Socket socket=server.accept();//监听客户端连接,如果客户端连接成功,返回实例化的Socket对象 System.out.println("客户端信息:"+socket); //读取流操作 SocketThd thd=new SocketThd(socket); thd.start(); } } catch (Exception e) { // TODO: handle exception } finally { try { if(server!=null) server.close(); System.out.println("服务器已停止! "); } catch (Exception e2) { // TODO: handle exception } } } static class SocketThd extends Thread{ MChat MC=new MChat(); Socket socket;//和客户端进行通信的对象 BufferedReader br=null; PrintWriter pw=null; public SocketThd(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) { System.out.println("客户端:"+str); //服务器处理 String rtn=""; //聊天机器人处理程序 rtn=MC.getCharResult(str); //处理结果返回客户端 pw.println(rtn); pw.flush(); } } catch (Exception e) { e.printStackTrace(); } finally { // TODO: handle finally clause try { if(br!=null) br.close(); if(pw!=null) pw.close(); if(socket!=null) socket.close(); } catch (Exception e2) { // TODO: handle exception } } } }}客户端的代码:
package Day02; 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 Client1 { public static void main(String[] args) throws Exception{ String IP="192.168.1.*"; int port=8899; Socket socket=new Socket(IP,port);//建立与服务器连接 //读取流操作 BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8")); BufferedReader brKey=new BufferedReader(new InputStreamReader(System.in, "UTF-8")); //写入流操作 PrintWriter pw=new PrintWriter( new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF-8"))); while(true) { String send=brKey.readLine();//等待阻塞命令 if(send.equals("END")) {//键盘输入的借宿条件 break; } //向服务器发送信息 pw.println(send); pw.flush(); //接收服务端回复的消息 String strRtn=br.readLine(); System.out.println("服务端回复信息:"+strRtn); } //关闭连接 br.close(); pw.close(); socket.close(); }}对话内容引擎:
package Day02; import java.util.Hashtable; public class MChat { private Hashtable htMS=new Hashtable<>(); public String getCharResult(String sKey) { String str=htMS.get(sKey); if(str==null) return ""; else return str; } public MChat() { htMS.put("你好呀","你也好呀,你需啊什么服务吗?"); htMS.put("见到你很高兴","我也很高兴见到你。"); htMS.put("吃了吗","今天吃的好饱呀"); htMS.put("好累呀", "听音乐轻松一下吧"); htMS.put("路上好堵呀","需要哦给你选一条路线吗"); htMS.put("再见", "我先走了,有事你叫我"); }} 实现结果如下:
读到这里,这篇"Java实现聊天机器人的代码怎么写"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
服务
客户
客户端
服务器
代码
UTF-8
机器
机器人
信息
处理
内容
文章
高兴
对象
结果
妥当
成功
命令
好呀
实例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
电脑端怎么进入服务器
腾讯云服务器能登录多少个设备
软件开发怎么工作
浙江一站式软件开发服务价格
上海水费网上缴费软件开发团队
上海海加网络安全信息有限公司
职高计算机网络技术考点
国家网络安全宣传官
达梦数据库默认访问端口
数据库应用百度
网络数据库的不安全因素
网络安全列子
天津工业大型服务器价格
专科本科计算机网络技术
服务器装好过后要设置什么
丹江口信息软件开发服务保障
lsql2005不能连接服务器
大学网络安全文章
sip注册服务器
服务器网口红灯常亮绿灯闪烁
违反网络安全法视频
深圳技师学院计算机网络技术
本地搭建svn服务器
网络安全设备能用多少年
招商银行江苏分行软件开发待遇
游戏配音软件开发
广州市高中生软件开发技术
数据库连接池需要释放么
备份数据库语句和还原语句
二进制流 存到数据库
- 上一篇
怎么使用Spring Cloud Stream玩转RabbitMQ,RocketMQ和Kafka
这期内容当中小编将会给大家带来有关怎么使用Spring Cloud Stream玩转RabbitMQ,RocketMQ和Kafka,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可
- 下一篇
Unity3D中如何通过Animator动画状态机获取任意animation clip的准确播放持续时长
这篇文章将为大家详细讲解有关Unity3D中如何通过Animator动画状态机获取任意animation clip的准确播放持续时长,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后