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。
翻阅古今
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,否则,执行您的逻辑并返回结果。
添加回答
举报
0/150
提交
取消