2010-04-15 35 views
2
public class MaxHeap<T extends Comparable<T>> implements Heap<T>{ 
private T[] heap; 
private int lastIndex; 
private static final int defaultInitialCapacity = 25; 

public void add(T newItem) throws HeapException{ 
    if (lastIndex < Max_Heap){ 
    heap[lastIndex] = newItem; 
    int place = lastIndex; 
    int parent = (place – 1)/2; //ERROR HERE********** 
    while ((parent >=0) && (heap[place].compareTo(heap[parent])>0)){ 
    T temp = heap[place]; 
    heap[place] = heap[parent]; 
    heap[parent] = temp; 
    place = parent; 
    parent = (place-1)/2; 
    }else { 
    throw new HeapException("HeapException: Heap full"); } 
    } 
} 

Eclipse的抱怨是有:的bizzare的Java無效賦值運算符錯誤

 
"Syntax error on token "Invalid Character", invalid AssignmentOperator" 

隨着(place-1)

下的紅線不應該有一個錯誤,因爲在所有它只是直前向運算。還是不是那麼簡單?

回答

6

您實際上並沒有使用減號(-),而是使用了其他值。

嘗試刪除它並添加另一個-標誌。

+0

謝謝。完全失敗在我身邊歡呼:) – Kay 2010-04-15 17:05:27

2

這不是一個減號。這是一個短跑(我認爲)。用適當的減號替換它,它應該工作。

你也許從別的地方複製和粘貼了這個嗎?字處理器喜歡亂用像破折號和引號之類的東西。

+0

感謝Syntactic - 你是對的我做了複製/粘貼它的一些,謝謝你的提示! – Kay 2010-04-15 17:11:08

1

您可以嘗試清理您的項目。項目 - >清潔...

對我來說很多次