1

javaからプロローグを呼び出すためにjplを使用しています。プロローグから X の値を取得するために、Java で次のコードを使用しています。

String t4 = "myNumber(X)";
Query q4 = new Query(t4);
System.out.println( "first solution of " + t4 + ": X = " + q4.oneSolution().get("X"));

そして私の解決策は--

first solution of myNumber(X): X = '.'(2, [])--which is true.

私が今やりたかったのは、解から値 2 を取得し、その数を 2 倍にすることです。誰かがそれを処理する方法を手伝ってくれますか?

4

1 に答える 1

0

oneSolution() は、変数名と用語のバインディングのハッシュテーブルを返します (彼らは言います)。次に、用語を検査する必要があります(テストされていません):

Term listTerm = q4.oneSolution().get("X");
Term firstListItem = listTerm.arg(1);
double value = firstListItem.doubleValue(); // alternatively, use intValue() or so

Termのドキュメントも確認してください。

編集:間違いを修正

于 2011-10-11T15:29:10.747 に答える