我有一个 prolog 文件(专家系统),我使用 Jpl 库(org.jpl7.*)从 Java 咨询,我有一个使用 jframe 的 UI,我想在其中显示 prolog 查询的输出。在 netbeans 中查阅 prolog 文件时,请阅读() 谓词在控制台 java 中运行;我想在界面中的 jtextarea 中运行。谁能告诉我该怎么做?
在这个 UI 中,我有一个 jtextarea 用于回答,另一个 jtextarea 用于评分。这是使用 swi prolog 的 prolog 代码:
start(Answer,Total_grade):-
Question1 = "Define computer?",
Word_list1 = ["software","operatingsystem"],
Word_list2 = ["hardware","tools"],
Msg = "Write your answers ",
write(Question1),nl,
write(Msg),nl,nl,
read(Answer),
string_lower(Answer,Low_answer),
split_string(Low_answer," ,.()-_"," ,.()-_", Answer_in_list),
find(Answer_in_list,Word_list1,Grade1),
find(Answer_in_list,Word_list2,Grade2),
Total_grade is Grade1 + Grade2,
nl,write("Your grade is : "), write(Total_grade),nl.
这是netbeans代码:
String t1="consult('C:/Users/user/Desktop/prolog/s.pl')";
Query q1=new Query(t1);
Boolean t=q1.hasSolution();
String c1="start(Answer,Total_grade)";
Query c=new Query(c1);
Term f2=c.oneSolution().get("Total_grade");
String b2=f2.toString();
jTextArea2.setText(b2);