我收到此错误,这是必要的代码。假设此处的方法无法正常工作。任何帮助都是极好的。 (我在Ubuntu btw中对文本文件进行编码)
以下是错误消息:(编译后)
BinarySearchTree.java:132:错误:不兼容的类型:int无法转换为T 插入(y); ^ 其中T是类型变量: T扩展了Comparable <?在BinarySearchTree类中声明的super T> 注意:一些消息已经简化。用-Xdiags:verbose重新编译以获取完整输出 1个错误
详细错误消息:
BinarySearchTree.java:132:错误:找不到适合insert(int)的方法 插入(y); ^ 方法BinarySearchTree.insert(T)不适用 (参数不匹配; int不能转换为T) 方法BinarySearchTree.insert(T,BinaryNode)不适用 (实际和正式论点列表的长度不同) 其中T是类型变量: T扩展了Comparable <?在BinarySearchTree类中声明的super T> 1个错误
这是我的代码:
[0,0,0,0,0,0,0,0]
答案 0 :(得分:0)
您有一个通用参数,因此在读取CSV时在逻辑上正确创建一个新树。
这也意味着insertList(...)
应该变成静态的,现在像
BinarySearchTree<Integer> tree = BinarySearchTree.insertList(...)
代码如下:
public static void insertList(String csv)
{
String[] inputValues = csv.split(",") ; // Numbers are seperated by comma as instructed
BinarySearchTree<Integer> tree = new BinarySearchTree<>();
for (String x : inputValues)
{
int y = Integer.parseInt(x);
tree.insert(y);
}
}