学习链表与节点遇Eclipse编译错误,请求技术协助
解决Java链表代码中"cannot be resolved or is not in field"错误
兄弟,你这问题根源太典型了!你代码里导入的org.w3c.dom.Node是用来处理XML文档的节点类,它根本没有链表节点需要的next和data字段,这就难怪Eclipse报错说找不到这些东西了——书里的代码默认是让你自己定义链表节点类,不是用这个现成的DOM节点!
给你一步步来修正:
先删掉错误的导入语句
把代码里的import org.w3c.dom.Node;直接删掉,这个完全是多余的。自定义一个链表节点类
你需要在ListOne类里加一个内部节点类(或者单独写一个Node类),示例如下:static class Node { int data; // 数据类型可以根据你的需求调整 Node next; // 构造方法初始化节点 Node(int data) { this.data = data; this.next = null; } }修正方法里的节点引用
确保你在buildList和printList里用的都是这个自定义的Node类,而不是之前那个DOM的Node。
给你一个完整的可运行示例代码参考:
package linkedList; public class ListOne { // 自定义链表节点内部类 static class Node { int data; Node next; Node(int data) { this.data = data; this.next = null; } } private Node head; // 链表头节点 public void buildList() { // 示例构建一个简单的链表 Node newNode1 = new Node(10); Node newNode2 = new Node(20); Node newNode3 = new Node(30); newNode1.next = newNode2; newNode2.next = newNode3; head = newNode1; } public void printList() { Node current = head; while (current != null) { System.out.println("节点数据:" + current.data); current = current.next; } } public static void main(String[] args) { ListOne myList = new ListOne(); myList.buildList(); myList.printList(); } }
书里的代码没写自定义Node类,是默认你知道要自己实现这个基础的节点结构,所以才会和你的代码出现差异。现在按上面的方法修改后,那些找不到字段的错误就会消失啦!
内容的提问来源于stack exchange,提问作者Casey Bateman
相关产品推荐
相关产品推荐

