欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Java實(shí)現(xiàn)聊天機(jī)器人的代碼怎么寫

本文小編為大家詳細(xì)介紹“Java實(shí)現(xiàn)聊天機(jī)器人的代碼怎么寫”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Java實(shí)現(xiàn)聊天機(jī)器人的代碼怎么寫”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的洛龍網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

服務(wù)器的代碼:

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("服務(wù)器啟動(dòng)...");  
   while(true) {
    Socket socket=server.accept();//監(jiān)聽客戶端連接,如果客戶端連接成功,返回實(shí)例化的Socket對(duì)象
    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("服務(wù)器已停止! ");
   } catch (Exception e2) {
    // TODO: handle exception
   }
  }
 } 
static class SocketThd extends Thread{
 MChat MC=new MChat();
 Socket socket;//和客戶端進(jìn)行通信的對(duì)象
 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")));
     //接收客戶端發(fā)送來的信息
     String str="";
     
     while((str=br.readLine())!=null) {
      System.out.println("客戶端:"+str);
      //服務(wù)器處理
      String rtn="";
      //聊天機(jī)器人處理程序
      rtn=MC.getCharResult(str);
      //處理結(jié)果返回客戶端
      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);//建立與服務(wù)器連接
  
  //讀取流操作
  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;
   }
   //向服務(wù)器發(fā)送信息
   
   pw.println(send);
   pw.flush();
   //接收服務(wù)端回復(fù)的消息
   String strRtn=br.readLine();
   
   System.out.println("服務(wù)端回復(fù)信息:"+strRtn);
  }
  //關(guān)閉連接
  br.close();
  pw.close();
  socket.close();
 }
}

對(duì)話內(nèi)容引擎:

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("你好呀","你也好呀,你需啊什么服務(wù)嗎?");
  htMS.put("見到你很高興","我也很高興見到你。");
  htMS.put("吃了嗎","今天吃的好飽呀");
  htMS.put("好累呀", "聽音樂輕松一下吧");
  htMS.put("路上好堵呀","需要哦給你選一條路線嗎");
  htMS.put("再見", "我先走了,有事你叫我");
 
 }
}

實(shí)現(xiàn)結(jié)果如下:

Java實(shí)現(xiàn)聊天機(jī)器人的代碼怎么寫

讀到這里,這篇“Java實(shí)現(xiàn)聊天機(jī)器人的代碼怎么寫”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

標(biāo)題名稱:Java實(shí)現(xiàn)聊天機(jī)器人的代碼怎么寫
標(biāo)題來源:http://chinadenli.net/article36/podcsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航、網(wǎng)站導(dǎo)航、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名