在方法上找不到符号
Cannot find symbol on method
我正在下面的代码中创建方法 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;
}
看看您对 arr
的其他用途,它看起来像是被定义为一个对象数组。 Java 数组本身无法访问 push 和 pop 方法。
如果您要访问您创建的 push
和 pop
方法,请使用
pop();
push(newarr[i-1]);
而不是:
arr.pop();
arr.push(newarr[i-1]);
您正在呼叫 arr.push()
和 arr.pop()
。但是,push 和 pop 是 class 中的方法。只需调用不带 arr 前缀的 push(arr);
和 pop
。
我正在下面的代码中创建方法 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;
}
看看您对 arr
的其他用途,它看起来像是被定义为一个对象数组。 Java 数组本身无法访问 push 和 pop 方法。
如果您要访问您创建的 push
和 pop
方法,请使用
pop();
push(newarr[i-1]);
而不是:
arr.pop();
arr.push(newarr[i-1]);
您正在呼叫 arr.push()
和 arr.pop()
。但是,push 和 pop 是 class 中的方法。只需调用不带 arr 前缀的 push(arr);
和 pop
。