我正在做我的任务是创建一个循环列表,我相信我的方法工作正常,除了我的打印方法。
public String print() {
String str = "";
Node curr = first;
for(int i = 0; i < getSize(); curr = curr.getNext(), i++) {
str += curr.getData();
}
return str;
}
我用数字测试它:{1,2,3,4,5},当我调用我的打印方法时,我得到 15432 作为结果。有谁知道这可能有什么问题,显然我没有看到它。另外,如果您需要更多代码,请告诉我。
编辑:经过一些评论后,我意识到这不是我的打印方法,这是我的 add() 和 getData() 方法:
public void add(int value) {
if(first == null) {
first = new Node(value, null);
first.setNext(first);
} else {
Node newNode = new Node(value, first.getNext());
first.setNext(newNode);
}
System.out.println("Added: " + value);
size++;
}
public int getData() {
return first.getData();
}
编辑2:构造函数;
class CircularList {
private Node first;
private int size;
public CircularList() {
first = null;
size = 0;
}
....