Java-循环链表-删除函数不工作

Java-循环链表-删除函数不工作,java,linked-list,Java,Linked List,我正试图用Java编写一个循环链表,但我的删除函数不起作用。public T delete(int-index){ public T delete(int index) { index = index%length; T delete = null; for(int i = 0; i<length-1; i++) { if (index == 0) { delete = current.data;

我正试图用Java编写一个循环链表,但我的删除函数不起作用。

public T delete(int-index){
public T delete(int index) {
    index = index%length; 
    T delete = null;
    for(int i = 0; i<length-1; i++) {
        if (index == 0) {
             delete = current.data;
             current = current.next;
             last.next = current;
             length--;
             break;
        }
        current = current.next;
    }
    return delete;
 }
索引=索引长度百分比; T delete=null;
对于(int i=0;i公共T删除(int索引)方法不起作用,事实上,它在运行测试文件时返回了一个错误。老实说,我不知道为什么。其他方法,即insert、get current等工作得非常好。当我在eclipse中运行它时,我只是在测试类的第52行得到java.lang.AssertionError。虽然这是我的教授提供的,所以我假设它是正确的。更具体地说,您希望从这个函数中得到什么?好的,我会尝试,我编写的类是一个循环列表,当我将元素插入到链接列表中时,它们非常好,它还返回当前数据,等等。但是当运行remove方法并测试此行时,“assertTrue(l.getCurrent()==9);”我得到了一个断言错误。Tim实际上向我指出函数被破坏了,所以现在红色的大错误消失了,但被蓝色的错误取代了。现在错误是AssertionError:expect but was。有什么想法吗?我试过那段代码,首先谢谢。但是现在错误变为AssertionError:expect but was。虽然它是定义的我离它更近了一步。你知道为什么会发生这种情况吗?我没有改变函数,我只是重新格式化了它,使它实际上是可读的,并指出它被破坏了。不幸的是,它被破坏的方式意味着我不知道你想要它做什么,所以我不能为你修复它…我基本上希望它从链接中删除一个元素我很抱歉,我不知道为什么我很难解释,但理论上,循环列表的元素在点击下一个时会引用到第一个元素。因此,当我删除元素时,它在整个流程中仍然可以工作。是的,代码的这一部分看起来很好。但是你的实际sear对于要删除的项目,ch不起任何作用。您只需扫描列表,如果索引为0,则删除第一个项目,否则不删除任何内容。老实说,我理解您试图传达的内容,但我已经为此工作了很长时间,现在我完全不知所措。如果我不在循环中修改索引,我将如何删除该元素。我知道如果(索引==i),则为ed,但也失败