永发信息网

java中方法声明无效;需要返回类型是哪里出错?

答案:2  悬赏:0  手机版
解决时间 2021-02-14 14:16
  • 提问者网友:饥饿走向夜
  • 2021-02-14 08:28
import dataStructure.tree.BinaryNode;
import dataStructure.tree.BinaryTree;

public class Ancestors {

public static void main(String args[]) {
String[] preorder={"A","B","D",null,"G",null,null,null,"C","E",null,null,"F","H"};
BinaryTree bitree = new BinaryTree (preorder);
bitree.preOrder();
String value="H";
BinaryNode find = bitree.search(value);
if(find==null)
System.out.println("\n未找到"+value);
else{
BinaryNode parent = bitree.getParent(find);
System.out.print("\n"+find.data+"的祖先结点是");
while(parent!=null){
System.out.print(parent.data+" ");
parent = bitree.getParent(parent);
}
System.out.println();
}

}
public BinaryTree(E[] preorder){
root=create(preorder);

}
private int i=0;

private BinaryNode create( E[] preorder){
BinaryNode p=null;
if(i E elem=preorder[i];
i++;
if(elem!=null){
p=new BinaryNode(elem);
p.left=create(preorder);
p.right=create(preorder);
}
}
return p;
}

}
I:\java\第六章144\Ancestors.java:25: 方法声明无效;需要返回类型
public BinaryTree(E[] preorder){
^
1 错误
哪里有问题?麻烦了。谢谢!
最佳答案
  • 五星知识达人网友:拜訪者
  • 2021-02-14 09:26
public BinaryTree(E[] preorder){
root=create(preorder);

}

这个方法没有返回类型
是不是 改为:
public void BinaryTree(E[] preorder){
root=create(preorder);

}
全部回答
  • 1楼网友:西岸风
  • 2021-02-14 09:32
1.假如你的customer(){...}不是构造方法,显然需要一个返回值可以是void,那么修改成如下void customer(){...},至于控制权限都是随你自己可写不可写。 2.假如要是构造方法customer(){...}显然需要改为 public custom(){...}。 由于系统将customer作为普通成员方法对待,进行编译的时候会报错为方法声明无效,需要返回类型。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯