You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java链表节点平均值计算后无法正常打印输出应如何解决

问题原因
  • 累加逻辑颠倒:getAvg方法中的累加语句写反,你本应该将节点数值累加到总和变量total,实际写为temp.a += total,导致total始终保持初始值0,无法统计节点总和。
  • 缺少指针移动逻辑:循环体内没有编写temp = temp.next语句,遍历指针永远指向头节点,程序陷入死循环,无法执行到后续的平均值打印代码,所以看不到平均值输出。
解决方案

修正getAvg方法的逻辑即可,修改后的代码如下:

static double getAvg(Node head){
    // 增加空链表校验,避免空指针和除以0异常
    if (head == null) {
        return 0.0;
    }
    double total = 0;
    int numOfNodes = 0;
    Node temp = head;
    while(temp != null) {
        // 修正累加逻辑
        total += temp.a;
        numOfNodes++;
        // 增加指针移动逻辑
        temp = temp.next;
    }
    return total / numOfNodes;
}

修改完成后运行程序,即可正常输出平均值,你给出的测试用例最终计算得到的平均值为45.3。

内容的提问来源于stack exchange,提问作者alex olivas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:12:02