我有错误的问题(非静态变量,这不能从静态上下文引用)
**我无法发布图片,因为我需要10个声誉:(
我的代码解决了这个问题:
编写一个Java函数Sum2List,它获取两个相同大小的列表L1和L2,并返回包含列表L1和L2的相应节点内的数据总和的列表L.
这是整个代码,但由于上述错误,我无法对其进行测试
public class listNode {
int data;
listNode next;
listNode(int d, listNode n){
data = d;
next = n;
}
}
public class list {
listNode first;
}
public list Sum2List (list l1 , list l2){
list l = new list();
listNode lNode = new listNode(0,null);
l.first = lNode;
listNode p = l1.first;
listNode q = l2.first;
for (p = l1.first; p.next!=null; p=p.next,q=q.next){
lNode.data = p.data + q.data;
if (p.next != null)
lNode.next = new listNode(0,null);
}
return l;
}
public static void main (String[] args){
list l1= new list();
listNode node4 = new listNode(4,null);
listNode node3 = new listNode(3,node4);
listNode node2 = new listNode(2,node3);
listNode node1 = new listNode(1,node2);
l1.first = node1;
list l2= new list();
listNode node8 = new listNode(8,null);
listNode node7 = new listNode(7,node8);
listNode node6 = new listNode(6,node7);
listNode node5 = new listNode(5,node6);
l2.first = node5;
list l = Sum2List(l1,l2);
for(listNode p = l.first; p.next !=null; p=p.next){
System.out.println(p.data);
}
}
答案 0 :(得分:0)
public list Sum2List (list l1 , list l2){
这需要标记为static
。如果没有该类的实例,则无法从静态方法调用实例方法。如果你只是想一想,你会发现它没有意义。实例方法属于类的单个实例,因此需要存在要调用的实例。