1
晚上好可言,解决后我以前的问题解释here,我已经与Prolog的版本最后几个问题:转换C#中的Prolog代码:递归while循环
比较规则:给定两个自定义对象,该方法找到它们之间的第一个相等的字符。
int index = myObject1.Index; char myChar = myObject1.getChar(); while ((index < 6) && !(myObject2.getChar().Equals(myChar))) { index++; myChar= myObject1.getCharAt(index); } myObject1.Counter++;
(A解决方案,它不工作)
[Closing rule]
compare_rule(I,Obj1,Obj2) :-
getChar(Obj2,Char2),
getChar(Obj1,Char1),
Char1 == Char2;
I == 6.
[Recursive rule]
compare_rule(I,Obj1,Obj2) :-
getChar(Obj2,Char2),
getChar(Obj1,Char1),
I < 6, Char1 == Char2,
I1 is I+1,
compare_rule(I1,Obj1,Obj2).
规则应与新的指标,并通过加1计数器返回OBJ 2:我该怎么办呢?
Tahnk你非常多, 马蒂亚