java - 我试图在 java 中从头开始实现链表,但出现以下错误
问题描述
我已经在 sublime text 上编写了代码 & 在命令提示符下,出现以下错误并且我难以解决,我在类数据错误中实现了 LinkedList 类:非静态变量无法从静态上下文 LinkedList 引用llist = new LinkedList(); ^ data.java:24:错误:不兼容的类型:节点无法转换为 data.LinkedList.Node llist.head = new Node(1); ^ data.java:27:错误:不兼容的类型:节点无法转换为 data.LinkedList.Node llist.head.next=second;
public class data{
class LinkedList {
Node head;
class Node{
int data;
Node next;
public void Node(int data ){
this.data = data;
next=null;
}
}
public LinkedList(){}
public void printList(){
Node n = head;
while(n != null){
System.out.println(n.data+" ");
n=n.next;}
}
}
public static void main(String[]args){
System.out.println("in main ");
LinkedList llist = new LinkedList();
llist.head = new Node(1);
Node second=new Node(2);
Node third=new Node(3);
llist.head.next=second;
second.next=third;
llist.printList();
}
}
解决方案
- 声明内部类静态,如果你想从静态方法实例化它们:
static class LinkedList
,static class Node
. - 构造函数没有
void
返回类型:public Node(int data) {...}
. - 限定内部类的内部类名称:
new LinkedList.Node(...)
.
public class data {
static class LinkedList {
Node head;
static class Node {
int data;
Node next;
public Node(int data) {
this.data = data;
next = null;
}
}
public LinkedList() {
}
public void printList() {
Node n = head;
while (n != null) {
System.out.println(n.data + " ");
n = n.next;
}
}
}
public static void main(String[] args) {
System.out.println("in main ");
LinkedList llist = new LinkedList();
llist.head = new LinkedList.Node(1);
LinkedList.Node second = new LinkedList.Node(2);
LinkedList.Node third = new LinkedList.Node(3);
llist.head.next = second;
second.next = third;
llist.printList();
}
}
- 正确缩进你的代码。
- 使用 Eclipse 之类的 IDE 进行 Java 开发 - 它可以帮助您找到很多类似的问题。
推荐阅读
- javascript - Vue如何使用渲染功能回退到默认渲染?
- fullcalendar - 完整的日历 IO 将列实现为单日视图
- r - 日期轴上缺少自定义中断和标签
- d3.js - d3.js 在文本属性中使用条件返回
- sql - 在 Big Query 中使用通配符查询按日期计算数据集中的记录数
- python - 如何通过图书馆电视节目在电报中搜索频道?
- javascript - 如何将一段css、html和js从一个静态模板复制到另一个?
- glassfish - GlassFish 服务器错误类 File.MikTex 未找到
- vuejs2 - vue.js 将插值传递给属性(类)绑定的方法
- blockchain - Hypelerdger Indy Node - 种子价值