我在下面的代码中创建方法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;
}
答案 0 :(得分:2)
您正在呼叫arr.push()
和arr.pop()
。然而,push和pop是你班级中的方法。只需拨打push(arr);
和pop
,不要使用arr前缀。
答案 1 :(得分:0)
查看arr
的其他用法,看起来它已被定义为对象数组。 Java数组本身无法访问push和pop方法。
如果您希望访问自己创建的push
和pop
方法,请使用
pop();
push(newarr[i-1]);
而不是:
arr.pop();
arr.push(newarr[i-1]);