【问题标题】:Method undefined in main, working with a deque主要方法未定义,使用双端队列
【发布时间】:2016-03-25 19:57:52
【问题描述】:

我正在使用双端队列

MyDeque theQueue = new MyDeque(queElm);

在调用方法的主 MyDequeApp

theQueue = insertFront(10);

该方法在一个名为MyDeque的类中

public void insertFront(Item x)
{
    if(front==maxSize)
        front=0;
    queArray[front++]=x;
    nItems++;
}

我在调用 insertFront 时遇到错误

方法 insertFront() 未定义 MyDequeApp 类型

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

【问题讨论】:

    标签: java queue deque


    【解决方案1】:

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

     public void insertFront(Item x)
    

    如果您查看方法签名,这个名称为 insertFront 的方法接受 Item 类型的值

    【讨论】:

    • 所以这只从 Item 类中获取值,我怎样才能在应用程序中插入一个项目?
    • @Dan:这取决于你的类如何实例化 Item 类并为其设置值(假设它具有该选项)。
    【解决方案2】:

    您错误地调用了该方法。 insertFrontMyDeque 类的一个方法。因此,要调用它,您需要从MyDeque 的实例中调用它。错误是说你是从MyDequeApp 调用它,而不是MyDeque

    替换:

    theQueue = insertFront(10);
    

    与:

    theQueue.insertFront(10);
    

    正如 Nambari 所说,您也传递了错误的值。它期待Item,但您传递的是int。相反,创建Item 的实例并将其传递给方法。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-21
      • 2017-10-07
      • 2018-07-02
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      相关资源
      最近更新 更多