1. //修改节点的内容【修改】
    2. //双向链表的节点内容修改和单向链表一样
    3. public void update(HeroNode3 newHeroNode) {
    4. //判断是否为空
    5. if (head.next == null) {
    6. System.out.println("链表为空~");
    7. return;
    8. }
    9. //找到需要修改的节点,根据no编号
    10. //定义一个辅助变量
    11. HeroNode3 temp = head;
    12. boolean flag = false;
    13. while (true) {
    14. if (temp.no == newHeroNode.no) {
    15. //找到了
    16. flag = true;
    17. break;
    18. }
    19. temp = temp.next;
    20. }
    21. //根据flag判断是否找到要修改的节点
    22. if (flag == true) {
    23. temp.name = newHeroNode.name;
    24. temp.nickname = newHeroNode.nickname;
    25. } else {
    26. System.out.printf("没有找到编号为%d的英雄的信息,不能修改!\n", newHeroNode.no);
    27. }
    28. }