天天看點

智能模拟對話機器人

步驟

**/*模拟機器人對話:

*

  • 首先注冊API–①百度搜尋茉莉機器人 ②新增賬號 ③進入ITPK界面 擷取API ④詞庫管理建立問題與答案
  • 知識點:URL類(接入位址) URLConnection類(産生聯系) 位元組流、字元流(讀取資料) 變量 流程控制 方法
  • 類URL:代表一個統一資源定位符,它指向網際網路"資源"的指針
  • 實作的思路:
  • 1.擷取機器人所在的位址
  • 2.說話,問問題
  • 3.與機器人建立聯系
  • 4.回話 通過位元組流拿到回複的資訊
  • 5.程式讀取到相關的資訊,輸出
  • /*

代碼

package demo;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.Scanner;

public class 智能機器人 {
	// 程式的入口
	public static void main(String[] args) {
		// 1.*擷取機器人所在位址*
		// 為了防止發生變化 定義為final
		final String API_KEY = "c02446aff52f74b78b55945454c5a6cf";
		final String API_SECRET = "2kmpopubu7qo";
		final String URL = "http://i.itpk.cn/api.php";
		System.out.println("可以開始交流");
		// 鍵盤掃描器
		Scanner input = new Scanner(System.in);
		//2.*建立與機器人的連結并完成對話*
		// 重複的去問,是以用循環
		while (input.hasNext()) {
			String say = input.next();
			try {
				say = URLEncoder.encode(say, "utf-8");// 防止資料在傳輸的過程中亂碼
				// 字元串的拼接
				String url = "http://i.itpk.cn/api.php?question=" + say + "&api_key=" + API_KEY + "&api_secret="
						+ API_SECRET;
				URL u = new URL(url);// 位址
				URLConnection uc = u.openConnection();// 與機器人建立連結
				// 讀取位元組輸入流
				InputStream is = uc.getInputStream();
				// 将位元組流轉換成字元流
				InputStreamReader isr = new InputStreamReader(is, "utf-8");
				// 位元組緩沖流,使效率達到最高
				BufferedReader in = new BufferedReader(isr);
				// 輸出字元串
				System.out.println(in.readLine());
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (MalformedURLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}
           

測驗

智能模拟對話機器人
智能模拟對話機器人

繼續閱讀