Clips + Java集成获取字符串并放置响应

时间:2016-10-26 13:52:53

标签: java multithreading integration clips

我在Java中集成剪辑时遇到问题。 我的剪辑项目是一系列问答中的结构。现在我想要在java中集成。 这是我的java

    import net.sf.clipsrules.jni.Environment;

public class Example {

    public static Environment clips = new Environment();
    public static void main (String[] args)
    {
        clips.load("myclips.clp");
        clips.reset();
        clips.run();
    }
}

这是我的clp

(defrule starting-rule
 (declare (salience ?*highest-priority*) (auto-focus TRUE))
  => 
 (printout t "***Start***" crlf)
 (focus PROFILE)
 (set-strategy random))

(defrule PROFILO::ask-car 
 (not (question (name car) (questiona ?) (risposta ?)))
 =>
 (bind ?response (yes-or-no "You have a car? "))
 (assert (question (name car) (domanda "L'auto e' tua? ") (risposta ?risposta)))
 )

....

这是java控制台中的输出

***Start***
You have a car? (yes/y/no/n):

现在控制台在控制台中等待答案,直到我没有回答我无法退出clips.run()方法,但我想提出问题并放入界面并让用户回答它。 我怎么能这样做?我必须使用线程?如何?

1 个答案:

答案 0 :(得分:0)

CLIPSJNI包含四个示例,http://www.clipsrules.net/?q=Downloads/CLIPSJNI,演示如何围绕CLIPS程序包装接口。