java虽然在类中声明了方法,但仍说“找不到符号”

时间:2019-12-29 15:57:07

标签: java stack

我正在使用链接列表编写堆栈实现程序。这样,我创建了一个类Node,该类具有所有的getter和setter方法,而我还有另一个类Stack,用于管理堆栈操作。我试图显示堆栈元素,在类Stack中有一个单独的函数,如下所示:

class Stack{
    Node start;
    int size;
    public void viewStack(){
        if(isEmpty()){
            System.out.println("Stack is Empty");
        } else {
            Node s = start;
            while(s.getNext()!=null){
                System.out.print(s.getData()+" ");
                s = s.getNext();
            }
        }
    }
}

其中,isEmpty()根据情况返回true或false。 getData()在类node中的定义如下:

class Node{
    Node next;
    int data;
    public int getdata(){
        return data;
    }
}

驱动程序代码如下:

public class StackDemo{
    public static void main(String args[]){
        Stack st = new Stack();
        st.viewStack();
    }
}

我遇到错误cannot find symbol,并且错误指向s.getData()方法。为什么我收到此错误?请帮助。

2 个答案:

答案 0 :(得分:2)

因为您的方法是getdata而不是getData

答案 1 :(得分:1)

Java区分大小写。调用getdata(大写D)时,定义的方法是getData(小写d)。将方法声明修改为getData,就可以了。