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;
}
# 1 楼答案
看看
arr
的其他用法,它看起来像是被定义为一个对象数组。Java数组本身无法访问push和pop方法如果希望访问已创建的
push
和pop
方法,请使用而不是:
# 2 楼答案
您正在调用
arr.push()
和arr.pop()
。但是,push和pop是类中的方法。只需调用push(arr);
和pop
而不使用arr前缀