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

Java实现Linked List联系人存储仅打印首个节点的问题排查

单向链表实现联系人存储时遍历输出不全

问题场景

正在完成Java编程作业,需要实现姓名与电话号码的录入功能,将录入的联系人数据存储到自定义单向链表结构中。目前已经完成3条联系人信息的录入,对应创建了3个ContactNode节点,但运行程序时出现异常:从表头出发遍历打印链表,仅能输出第一个联系人的内容,后续节点完全不展示,无法定位具体的代码逻辑错误。

现有代码模块构成

  • 已提供的主程序文件ContactList.java:通过Scanner读取用户输入的姓名、电话号码,依次创建contact1、contact2、contact3三个联系人节点,尝试通过insertAfter方法建立节点间的前后连接,随后从表头节点启动while循环,逐节点调用printContactNode方法完成内容打印
  • 需自主实现的节点类ContactNode.java:包含联系人节点的核心属性定义、构造方法、属性取值方法、insertAfter后继节点插入方法、getNext后继节点获取方法、printContactNode节点内容打印方法

触发该异常的常见逻辑问题

  • insertAfter方法实现逻辑错误:比如在方法中错误将当前节点的next指针赋值为入参节点的next,没有将入参节点挂载到当前节点的后继位置,直接切断了后续节点的链路
  • 主程序中节点连接顺序颠倒:比如错误配置contact2的后继指向contact1、contact3的后继指向contact2,从预设的表头节点出发时,next指针直接指向null,完全无法触达后续节点
  • getNext方法实现异常:比如方法固定返回null,导致while循环在打印完首节点后,判断后继节点为空,直接终止循环
  • 遍历环节缺失指针移动逻辑:比如while循环内没有编写currentNode = currentNode.getNext()的指针移位代码,打印完首节点后因为指针始终停留在首节点,循环条件不匹配直接退出

内容的提问来源于stack exchange,提问作者Allen B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 02:36:07