我是编程新手,如果这是个愚蠢的问题,我很抱歉。我得到了一些预先编写的类,称为ngen,这是一个通用节点类,stack1gen.java是为链表实现的。由于某种原因,在stack1gen类中,当它说start.getnext()时,我得到一个错误;说“无法访问ngen。这是什么意思?
// NGen.java
// A *simplified* generic node class for use with Stack1Gen class
// and other data structures as desired; uses generics for the data
public class NGen <T> {
// constructors
public NGen () {}
public NGen (T o, NGen<T> link) {
data = o;
next = link;
}
// selectors
public T getData() {
return data;
}
public void setData(T o) {
data = o;
}
public NGen<T> getNext() {
return next;
}
public void setNext(NGen<T> link) {
next = link;
}
// instance variables
private T data;
private NGen<T> next;
} // NGen class
// Stack1Gen.java
// The StackGen Interface is implemented using linked list
// The linked list used is a simple generic node class called NGen. (See NGen.java)
public class Stack1Gen <T> implements StackGen<T> {
// constructor
public Stack1Gen () {}
// selectors
public void push(T o) {
start = new NGen<T>(o, start);
}
public T pop() {
if (start == null)
throw new RuntimeException("Tried to pop an empty stack");
else {
T data = start.getData();
start = start.getNext();
return data;
}
}
public T top() {
if (start == null)
return null;
else return start.getData();
}
public boolean isEmpty() {
if (start == null)
return true;
else return false;
}
// instance variables
private NGen<T> start = null;
} // Stack1Gen class
1条答案
按热度按时间mkshixfv1#
您的代码中没有错误。如果您正在使用intellij idea,请尝试“失效缓存并重新启动”(从“文件”菜单)