有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在方法上找不到符号

我在下面的代码中创建了toArray方法,在toArray中调用pop()和push()方法时出现找不到符号错误。为什么?

   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) 个答案

  1. # 1 楼答案

    看看arr的其他用法,它看起来像是被定义为一个对象数组。Java数组本身无法访问push和pop方法

    如果希望访问已创建的pushpop方法,请使用

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

    而不是:

    arr.pop();
    arr.push(newarr[i-1]);
    
  2. # 2 楼答案

    您正在调用arr.push()arr.pop()。但是,push和pop是类中的方法。只需调用push(arr);pop而不使用arr前缀