Не удается найти символ по методу

Я создаю метод toArray в приведенном ниже коде, получая не может найти ошибку символа при вызове методов pop() и push() внутри toArray. Зачем?

   public void push(Comparable x)
   {
      arr[size++] = x;
   }

   public Object pop() throws EmptyStackException
   {
      return arr[size--];
   }

   public Comparable[] toArray() 
   {
      Comparable[] newarr = new Comparable[size];
      for(int i = 0; i < size; i++)
      {
         newarr[i] = arr.pop();
      }
      for(int i = size; i > 0; i--)
      {
         arr.push(newarr[i-1]);
      }
      return newarr;
   }

2 ответа

Решение

Ты звонишь arr.push() а также arr.pop(), Однако push и pop - это методы в вашем классе. Просто позвони push(arr); а также pop без префикса arr.

Глядя на ваши другие использования arrпохоже, он был определен как массив объектов. Сами по себе массивы Java не имеют доступа к методам push и pop.

Если вы ищете доступ к push а также pop методы, которые вы создали, используйте

pop();
push(newarr[i-1]);

Скорее, чем:

arr.pop();
arr.push(newarr[i-1]);
Другие вопросы по тегам