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

溫馨提示×

溫馨提示×

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

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

Java中怎么實現聊天機器人

發布時間:2021-07-05 09:17:58 來源:億速云 閱讀:332 作者:小新 欄目:開發技術

小編給大家分享一下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

天峨县| 清流县| 栖霞市| 威远县| 高邮市| 南丹县| 保康县| 湘阴县| 双城市| 门源| 松阳县| 盘锦市| 甘谷县| 平江县| 卓资县| 犍为县| 延长县| 清苑县| 开远市| 明光市| 浠水县| 大新县| 大方县| 乌鲁木齐县| 深水埗区| 东明县| 长乐市| 双辽市| 沛县| 屯留县| 莎车县| 达孜县| 刚察县| 会宁县| 高平市| 云林县| 仙桃市| 徐汇区| 津南区| 华容县| 黑河市|