为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

江户川乱折腾 2023-10-13 16:22:20
因此,我尝试为我的单链表类实现 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;}
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

之后的线路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。


查看完整回答
反对 回复 2023-10-13
?
翻阅古今

TA贡献1780条经验 获得超5个赞

尝试这个:


public T get(int i){

    if (i < 0 || i > n - 1) {

        throw new IndexOutOfBoundsException();

    } else {

        Node u = head;

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

            u = u.next;

        }

        return u.x; 

    }

}

基本上,我们所做的就是将方法的主要逻辑移到验证逻辑中。如果i越界,则抛出异常并返回 null,否则,执行您的逻辑并返回结果。


查看完整回答
反对 回复 2023-10-13
  • 2 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信