91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Java代碼實現聊天機器人

發布時間:2023-05-04 11:24:01 來源:億速云 閱讀:132 作者:zzz 欄目:編程語言

這篇文章主要介紹“如何用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<String, String> 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代碼實現聊天機器人

關于“如何用Java代碼實現聊天機器人”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昭通市| 额济纳旗| 榆树市| 利辛县| 信丰县| 永城市| 施甸县| 莱阳市| 高唐县| 页游| 湖南省| 莱西市| 宣武区| 德保县| 彭水| 莱芜市| 汉寿县| 左贡县| 牡丹江市| 西华县| 清丰县| 龙游县| 景德镇市| 花莲市| 桂林市| 宁阳县| 维西| 开封县| 扎赉特旗| 岗巴县| 阜宁县| 阜城县| 偃师市| 丰镇市| 章丘市| 沾益县| 盘山县| 张家港市| 香格里拉县| 依兰县| 鹿邑县|