Java 方法在main中未定义,使用deque

Java 方法在main中未定义,使用deque,java,queue,deque,Java,Queue,Deque,我在和一个德克人一起工作 MyDeque theQueue = new MyDeque(queElm); 在mainMyDequeApp中调用一个方法 theQueue = insertFront(10); 该方法位于名为MyDeque public void insertFront(Item x) { if(front==maxSize) front=0; queArray[front++]=x; nItems++; } 调用insertFront

我在和一个德克人一起工作

MyDeque theQueue = new MyDeque(queElm);
在main
MyDequeApp
中调用一个方法

theQueue = insertFront(10);
该方法位于名为
MyDeque

public void insertFront(Item x)
{
    if(front==maxSize)
        front=0;
    queArray[front++]=x;
    nItems++;
}
调用
insertFront
时,我在main中遇到一个错误

未为MyDequeApp类型定义insertFront()方法


我不理解这个错误,因为我相信该方法是在
MyDeque
中定义的,如果有人能解释一下,它会帮助我解决问题。

您正在传递
int
值,但它需要
对象

 public void insertFront(Item x)

如果查看方法签名,则此名为
insertFront
的方法接受类型为
Item
的值,因为您错误地调用了该方法
insertFront
MyDeque
类上的一个方法。因此,要调用它,您需要从您的
MyDeque
实例调用它。错误是说您正在从
MyDequeApp
调用它,而不是
MyDeque

替换:

theQueue = insertFront(10);
与:

正如Nambari提到的,您也传递了错误的值。它需要一个
,但您传递的是一个
int
。相反,创建
Item
的实例并将其传递给方法


我个人也会更改变量的名称,因为它是一个deque,而不是一个队列。

所以这只需要从Item类中获取值,我如何在应用程序中插入一个Item?@Dan:这取决于您的类如何实例化Item类并为其设置值(假设它有该选项)。
theQueue.insertFront(10);