Java 在链表堆栈中搜索值

Java 在链表堆栈中搜索值,java,compiler-errors,stack,Java,Compiler Errors,Stack,我正试图用java编写一个链表堆栈的搜索函数。然而,我遇到了一些问题,比如当我声明一个指向head变量的临时变量时,这样在搜索时就不会丢失实际的值堆栈,我无法调用我的topX和topY方法,我不确定为什么。这是什么原因造成的 我得到的错误是没有为MyNode类型定义topXMyNode 我的代码: public class MyStack { private MyNode head; public MyStack() { head = null; } public

我正试图用java编写一个链表堆栈的搜索函数。然而,我遇到了一些问题,比如当我声明一个指向head变量的临时变量时,这样在搜索时就不会丢失实际的值堆栈,我无法调用我的topX和topY方法,我不确定为什么。这是什么原因造成的

我得到的错误是没有为MyNode类型定义topXMyNode

我的代码:

public class MyStack
{
  private MyNode head;

  public MyStack()
  {
    head = null;
  }

  public boolean isEmpty()
  {
    if (head == null)
      return true;
    else
      return false;
  }

  public void push (int v1, int v2)
  {
    MyNode tmp = new MyNode (v1, v2);
    tmp.next = head;
    head = tmp;

  }

  public void pop()
  {
    head = head.next;
  }

  public int topX(MyNode node)
  {
    return node.x;
  }

  public int topY(MyNode node)
  {
    return node.y;
  }
   //THIS IS WHERE i get my error
  public boolean search(int v1, int v2, MyNode node){
    MyNode temp = node;
    //My problem is I can't even call this function
    while (temp.topX(node)!= v1 && temp.topY(node) != v2
           && temp.next!=null){
    temp = temp.next;
}
    }
}
//I declared MyNode seperately
class MyNode
{
  int x, y;

  MyNode next;

 MyNode (int v1, int v2)
 {
    x = v1;
    y = v2;
    next = null;

  }
}
}

temp是一个MyNode,它没有topX方法。但是,MyStack没有。删除temp.topXnode并替换为topXtemp。对托比也一样。