2013-04-09 35 views
0

所以我正在寫一個二叉搜索樹的代碼,我很遠(我認爲),有一點,當我嘗試編譯它時,我得到一個錯誤,說錯誤無法解決或不是字段意思?

「File:D:\ ReservationQueue的.java [行:15]

錯誤:左不能得到解決或不是一個場

文件:d:\ ReservationQueue.java [行:17]

錯誤:右不能得到解決或不是一個字段

File: d:\ ReservationQueue.java [行: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); 
} 
} 
} 

這是訂房類如果有幫助 公共課保留私人詮釋優先; 私人字符串名稱;

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;} 
} 

我真的需要幫助,我不知道我做錯了,謝謝你提前

回答

1

node是類型Reservation,並且leftrightReservationQueue領域。因此,以下兩行不會編譯:

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

如果ReservationQueue,就是要與類型Reservation,節點樹,然後leftright大概應該是Reservation成員,而不是ReservationQueue

+0

非常感謝你我更好地瞭解現在 – 2013-04-09 18:28:41

0

這並不完全清楚你在做什麼。

  1. 您在Reservetion類中沒有左右變量,它們是什麼。
  2. 可能是你的意思是

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