Ошибка оператора присваивания Bizzare Java - PullRequest
2 голосов
/ 15 апреля 2010
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"); }
  }
 }

Затмение жалуется, что есть:

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

с красной линией под (place-1)

Не должно быть ошибки вообще, потому что это просто прямая арифметика. Или все не так просто?

Ответы [ 3 ]

6 голосов
/ 15 апреля 2010

Вы на самом деле не использовали знак минус (-), а что-то еще.

Попробуйте удалить его и добавить вместо него еще один знак -.

2 голосов
/ 15 апреля 2010

Это не знак минус. Это черта (я думаю). Замените его соответствующим знаком минус, и он должен работать.

Возможно, вы скопировали и вставили это откуда-то еще? Текстовые процессоры любят возиться с такими вещами, как тире и кавычки.

1 голос
/ 30 июля 2012

Вы можете попробовать Очистить свой проект. Проект -> Чисто ...

работает у меня много раз

...