Java¹æÔòÒýÇ湤×÷ÔÀí¼°ÆäÓ¦ÓÃ(Õª)
Java¹æÔòÒýÇ湤×÷ÔÀí¼°ÆäÓ¦ÓÃ
¡¡¡¡Õª Òª Java¹æÔòÒýÇæÊÇÒ»ÖÖǶÈëÔÚJava³ÌÐòÖеÄ×é¼þ£¬ËüµÄÈÎÎñÊǰѵ±Ç°Ìá½»¸øÒýÇæµÄJavaÊý¾Ý¶ÔÏóÓë¼ÓÔØÔÚÒýÇæÖеÄÒµÎñ¹æÔò½øÐвâÊԺͱȶԣ¬¼¤»îÄÇЩ·ûºÏµ±Ç°Êý¾Ý״̬ϵÄÒµÎñ¹æÔò£¬¸ù¾ÝÒµÎñ¹æÔòÖÐÉùÃ÷µÄÖ´ÐÐÂß¼£¬´¥·¢Ó¦ÓóÌÐòÖжÔÓ¦µÄ²Ù×÷¡£
¡¡¡¡ÒýÑÔ
¡¡¡¡Ä¿Ç°£¬JavaÉçÇøÍƶ¯²¢·¢Õ¹ÁËÒ»ÖÖÒýÈËעĿµÄм¼Êõ——Java¹æÔòÒýÇ棨Rule Engine£©¡£ÀûÓÃËü¾Í¿ÉÒÔÔÚÓ¦ÓÃϵͳÖзÖÀëÉÌÒµ¾ö²ßÕßµÄÉÌÒµ¾ö²ßÂß¼ºÍÓ¦Óÿª·¢Õߵļ¼Êõ¾ö²ß£¬²¢°ÑÕâЩÉÌÒµ¾ö²ß·ÅÔÚÖÐÐÄÊý¾Ý¿â»òÆäËûͳһµÄµØ·½£¬ÈÃËüÃÇÄÜÔÚÔËÐÐʱ¿ÉÒÔ¶¯Ì¬µØ¹ÜÀíºÍÐ޸ģ¬´Ó¶øΪÆóÒµ±£³ÖÁé»îÐԺ;ºÕùÁ¦ÌṩÓÐЧµÄ¼¼ÊõÖ§³Ö¡£
¡¡¡¡¹æÔòÒýÇæµÄÔÀí
¡¡¡¡1¡¢»ùÓÚ¹æÔòµÄר¼Òϵͳ£¨RBES£©¼ò½é
¡¡¡¡Java¹æÔòÒýÇæÆðÔ´ÓÚ»ùÓÚ¹æÔòµÄר¼Òϵͳ£¬¶ø»ùÓÚ¹æÔòµÄר¼ÒϵͳÓÖÊÇר¼ÒϵͳµÄÆäÖÐÒ»¸ö·ÖÖ§¡£×¨¼ÒϵͳÊôÓÚÈ˹¤ÖÇÄܵķ¶³ë£¬ËüÄ£·ÂÈËÀàµÄÍÆÀí·½Ê½£¬Ê¹ÓÃÊÔ̽ÐԵķ½·¨½øÐÐÍÆÀí£¬²¢Ê¹ÓÃÈËÀàÄÜÀí½âµÄÊõÓï½âÊͺÍÖ¤Ã÷ËüµÄÍÆÀí½áÂÛ¡£ÎªÁ˸üÉîÈëµØÁ˽âJava¹æÔòÒýÇ棬ÏÂÃæ¼òÒªµØ½éÉÜ»ùÓÚ¹æÔòµÄר¼Òϵͳ¡£RBES°üÀ¨Èý²¿·Ö£ºRule Base£¨knowledge base£©¡¢Working Memory£¨fact base£©ºÍInference Engine¡£ËüÃǵĽṹÈçÏÂϵͳËùʾ£º
ͼ1 »ùÓÚ¹æÔòµÄר¼Òϵͳ¹¹³É
¡¡¡¡Èçͼ1Ëùʾ£¬ÍÆÀíÒýÇæ°üÀ¨Èý²¿·Ö£ºÄ£Ê½Æ¥ÅäÆ÷£¨Pattern Matcher£©¡¢Òé³Ì£¨Agenda£©ºÍÖ´ÐÐÒýÇ棨Execution Engine£©¡£ÍÆÀíÒýÇæͨ¹ý¾ö¶¨ÄÄЩ¹æÔòÂú×ãÊÂʵ»òÄ¿±ê£¬²¢ÊÚÓè¹æÔòÓÅÏȼ¶£¬Âú×ãÊÂʵ»òÄ¿±êµÄ¹æÔò±»¼ÓÈëÒé³Ì¡£Ä£Ê½Æ¥ÅäÆ÷¾ö¶¨Ñ¡ÔñÖ´ÐÐÄĸö¹æÔò£¬ºÎʱִÐйæÔò£»Òé³Ì¹ÜÀíģʽƥÅäÆ÷ÌôÑ¡³öÀ´µÄ¹æÔòµÄÖ´ÐдÎÐò£»Ö´ÐÐÒýÇ渺ÔðÖ´ÐйæÔòºÍÆäËû¶¯×÷¡£
¡¡¡¡ºÍÈËÀàµÄ˼άÏà¶ÔÓ¦£¬ÍÆÀíÒýÇæ´æÔÚÁ½ÕßÍÆÀí·½Ê½£ºÑÝÒï·¨£¨Forward-Chaining£©ºÍ¹éÄÉ·¨£¨Backward-Chaining£©¡£ÑÝÒï·¨´ÓÒ»¸ö³õʼµÄÊÂʵ³ö·¢£¬²»¶ÏµØÓ¦ÓùæÔòµÃ³ö½áÂÛ£¨»òÖ´ÐÐÖ¸¶¨µÄ¶¯×÷£©¡£¶ø¹éÄÉ·¨ÔòÊǸù¾Ý¼ÙÉ裬²»¶ÏµØÑ°ÕÒ·ûºÏ¼ÙÉèµÄÊÂʵ¡£ReteËã·¨ÊÇĿǰЧÂÊ×î¸ßµÄÒ»¸öForward-ChainingÍÆÀíËã·¨£¬Ðí¶àJava¹æÔòÒýÇ涼ÊÇ»ùÓÚReteËã·¨À´½øÐÐÍÆÀí¼ÆËãµÄ¡£
¡¡¡¡ÍÆÀíÒýÇæµÄÍÆÀí²½ÖèÈçÏ£º
¡¡¡¡(1)½«³õʼÊý¾Ý£¨fact£©ÊäÈëWorking Memory¡£
¡¡¡¡(2)ʹÓÃPattern Matcher±È½Ï¹æÔò¿â£¨rule base£©ÖеĹæÔò£¨rule£©ºÍÊý¾Ý£¨fact£©¡£
¡¡¡¡(3)Èç¹ûÖ´ÐйæÔò´æÔÚ³åÍ»£¨conflict£©£¬¼´Í¬Ê±¼¤»îÁ˶à¸ö¹æÔò£¬½«³åÍ»µÄ¹æÔò·ÅÈë³åÍ»¼¯ºÏ¡£
¡¡¡¡(4)½â¾ö³åÍ»£¬½«¼¤»îµÄ¹æÔò°´Ë
Ïà¹ØÎĵµ£º
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.RandomAccessFile;
/**
* ÃèÊö£º×·¼ÓÄÚÈݵ½Îļþĩβ
* @author Administrator
*
*/
public class ......
1.1 ²»ÓÃnew¹Ø¼ü´Ê´´½¨ÀàµÄʵÀý
¡¡¡¡
¡¡¡¡ÓÃnew¹Ø¼ü´Ê´´½¨ÀàµÄʵÀýʱ£¬¹¹Ô캯ÊýÁ´ÖеÄËùÓй¹Ô캯Êý¶¼»á±»×Ô¶¯µ÷Óᣵ«Èç¹ûÒ»¸ö¶ÔÏóʵÏÖÁËCloneable½Ó¿Ú£¬ÎÒÃÇ¿ÉÒÔµ÷ÓÃËüµÄclone()·½·¨¡£clone()·½·¨²»»áµ÷ÓÃÈκÎÀ๹Ô캯Êý¡£
¡¡¡¡
¡¡¡¡ÔÚʹÓÃÉè¼Æģʽ£¨Design Pattern£©µÄ³¡ºÏ£¬Èç¹ûÓÃFactoryģʽ´´½¨¶ÔÏó£¬Ôò¸ÄÓÃclone( ......
/**
* @author he
*
*
* °ÑDateת»»³ÉString£¬ÒÔyyyy-MM-dd HH:mm:ssµÄÐÎʽÏÔʾ
*/
public static String DateToString(Date tempDate) {
......
public class Test {
public static void main(String args[]){
try{
// »ñÈ¡¼üÅÌÊäÈëµÄ×Ö·û´®
BufferReader f = new BufferReader(new inputStreamReader(System.in));
String str = f.readline();
for (int i = str.length() -1 ; i >=0 ; i--) {
System.out.print(CharAt(i)); ......