我试图在prolog的列表末尾添加一个项目,但它一直在失败.
insertAtEnd(X,[ ],[X]).
insertAtEnd(X,[H|T],[H|Z]) :- insertAtEnd(X,T,Z).
letters([a,b,c]).
Run Code Online (Sandbox Code Playgroud)
我不明白为什么以下这个不起作用.
insertAtEnd(d,letters(Stored),letters(Stored)).
Run Code Online (Sandbox Code Playgroud)
我也试图将此列表存储在整个存储的变量中,但我不确定上述是否是正确的继续方式.
我已经坚持这个问题几个小时了.我已经注释掉了所有代码,认为它与数组越界有关,但这仍然在发生.我正在尝试使用扫描程序从文件读取输入,存储数据并在以后使用哈希码获取数据.但是散列值不断变化.
public static void main(String[] args)
{
//only prior code is to access data
char arr[] = new char[25];
arr = readString.toCharArray();
int y;
y = hash(arr);
}
public static int hash(char[] arr)
{
int get = arr.toString().hashCode();
System.out.println(y);
return get;
}
Run Code Online (Sandbox Code Playgroud)
对于文件,即使在每一行都有相同的东西,仍然存在这个问题
.
你好
你好
你好
我已经注释掉除了获取数据和哈希之外的所有其他函数,但不确定为什么哈希码具有不同的值.我是否正确使用哈希码?还有另一种方法吗?
编辑*当我在主函数内部散列字符串时,值总是相同的,但我检索的值从未相同.