我目前正在創(chuàng)建一個 Java Swing GUI,用戶可以在其中選擇他們喜歡的水果類型。根據(jù)他們的選擇,只會顯示某些水果產(chǎn)品。例如,如果用戶選擇“葡萄”,則僅顯示葡萄果醬或葡萄汁等葡萄產(chǎn)品。問題在于如何將一些事實(shí)斷言到 Prolog 中。例如,我試圖斷言用戶選擇了“葡萄”。太長了;我試圖找到與 SWI-Prolog 命令等效的 JPL:assert(selected_fruit(grape)).以下是我嘗試過的 2 個嘗試。Query q2=new Query("assert selected_fruit(grape)");System.out.println(q2.hasSolution());我嘗試過的另一種方法如下:Query q2 = new Query("selected_fruit", new Term[] {new Atom("grape")});System.out.println(q2.hasSolution());第一次嘗試拋出了語法錯誤,而第二次嘗試在運(yùn)行時拋出了存在錯誤。如果有人能提供一些線索,我們將不勝感激。
1 回答

千萬里不及你
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個贊
沒關(guān)系,經(jīng)過多次實(shí)驗(yàn)我找到了答案。在我的例子中斷言的正確方法如下:
Query q2 = new Query("assert(selected_fruit(grape))"); System.out.println(q2.hasSolution());
然后控制臺應(yīng)該打印出“true”。
添加回答
舉報
0/150
提交
取消