什么错误无法解决或不是字段意味着什么?

时间:2013-04-09 18:23:27

标签: java tree field

所以我正在编写一个二叉搜索树的代码,我很远(我认为)并且有一点,当我尝试编译它时,我得到一个错误,说

“文件:D:\ ReservationQueue.java [line:15]

错误:左侧无法解析或不是字段

文件:D:\ ReservationQueue.java [line:17]

错误:右侧无法解析或不是字段

文件:D:\ ReservationQueue.java [line:4] 警告:从不在本地读取ReservationQueue.right字段...

这是错误的代码,

public class ReservationQueue{
private Reservation root;
private Reservation left;
private Reservation right;

public boolean empty() {return root == null;}
public String findRoot() {return root.getName();}
public void deleteRoot(){root = left; }

public void insert(Reservation node) {

if(this.empty()) {
  root = node;
} else if (node.getPriority() < root.getPriority()){
  insert(node.left);
} else if (node.getPriority() > root.getPriority()){
  insert(node.right);
}
}
}

如果它有帮助,这是Reservation类     公共课堂预订{     private int priority;     私有字符串名称;

public Reservation(String name, int priority){
 if (priority < 1) {
 this.priority = 1;
} else if (priority > 10) {
 this.priority = 10;
} else {
 this.priority = priority;
}
}
public String getName(){return name;}
public int getPriority(){return priority;}
}

我真的需要帮助我不知道我做错了什么,谢谢你提前

2 个答案:

答案 0 :(得分:1)

nodeReservation类型,leftrightReservationQueue的字段。因此以下两行不会编译:

insert(node.left);
insert(node.right);

如果ReservationQueue是一个类型为Reservation的节点的树,那么leftright可能应该是Reservation的成员,而不是ReservationQueue

答案 1 :(得分:0)

目前还不完全清楚你在做什么。

  1. 您在预备课程中没有左右变量,无论如何都是这样。
  2. 可能是你的意思

    else if (node.getPriority() < root.getPriority()){
         insert(left);
     } else if (node.getPriority() > root.getPriority()){
        insert(right);