我正在使用jpl連接java和prolog。我正在嘗試處理java中的prolog列表。我執行時序言代碼返回類似下面的如何處理java中的prolog列表
L = [38, '(60)', '48^10', '36^6^58']
現在,我嘗試使用下面的代碼
import jpl.Integer;
import jpl.Query;
import jpl.Variable;
import jpl.JPLException;
import jpl.Term;
import java.awt.List;
import java.lang.Number;
import java.util.Hashtable;
import java.util.Iterator;
public class Family
{
int num1;
public static void main(String argv[])
{
String t1 = "consult('Test.pl')";
Query q1 = new Query(t1);
System.out.println(t1 + " "
+ (q1.hasSolution() ? "succeeded" : "failed"));
String t4 = "main(X)";
Query q4 = new Query(t4);
System.out.println("first solution of " + t4 + ": X = "
+ q4.oneSolution().get("X"));
Term listTerm = (Term) q4.oneSolution().get("X");
Term firstListItem = listTerm.arg(1);
System.out.println("" + firstListItem);
}
}
執行此我們得到查詢的第一個解決方案來處理在Java中此輸出列表這是
X = '.'(38, '.'('(60)', '.'('48^10', '.'('36^6^58', []))))
38
而我能夠打印出列表的第一個元素是「38」
在相同的我無法處理列表中的所有元素。請幫我做這個?
我試過使用Term [],但是如何顯示所有的參數。使用你的for循環,我只能顯示第一個參數。 – Anil