猿问

java - 无法访问的语句帮助(链接列表)

因此,我尝试为我的单链表类实现 get 方法,但收到错误:无法访问的语句。我想知道如何解决这个问题?


public T get(int i) {

    // TODO: Implement this

    Node u = head;

    for(int j = 0; j < i; j++){

        u = u.next;

    }

    return u.x; 

    if (i < 0 || i > n - 1) throw new IndexOutOfBoundsException();

    return null;

}


江户川乱折腾
浏览 99回答 2
2回答

慕尼黑8549860

之后的线路return u.x无法访问。一旦返回值或抛出异常,程序就会退出该方法。当然,您仍然可以使用if语句控制发生的情况:public T get(int i) {    if (i < 0 || i > n - 1)        throw new IndexOutOfBoundsException();    // TODO: Implement this    Node u = head;    for (int j = 0; j < i; j++)        u = u.next;    return u.x;}如果语句的条件if不成立,程序将跳过它并返回u.x。

翻阅古今

尝试这个:public T get(int i){&nbsp; &nbsp; if (i < 0 || i > n - 1) {&nbsp; &nbsp; &nbsp; &nbsp; throw new IndexOutOfBoundsException();&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; Node u = head;&nbsp; &nbsp; &nbsp; &nbsp; for(int j = 0; j < i; j++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; u = u.next;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return u.x;&nbsp;&nbsp; &nbsp; }}基本上,我们所做的就是将方法的主要逻辑移到验证逻辑中。如果i越界,则抛出异常并返回 null,否则,执行您的逻辑并返回结果。
随时随地看视频慕课网APP

相关分类

Java
我要回答