/* DListNode1.java */
public class DListNode1 {
public Object item;
// public short[][] colorVal;
public DListNode1 prev;
public DListNode1 next;
DListNode1() {
item = 0;
prev = null;
next = null;
}
DListNode1(Object i) {
item = i;
prev = null;
next = null;
}
}
/* Double linked list */
public class DList1 {
protected DListNode1 head;
protected DListNode1 tail;
protected long size;
public DList1() {
head = null;
tail = null;
size = 0;
}
public DList1(Object a) {
head = new DListNode1();
tail = head;
head.item = a;
size = 1;
}
public DList1(Object a, Object b) {
head = new DListNode1();
head.item = a;
tail = new DListNode1();
tail.item = b;
head.next = tail;
tail.prev = head;
size = 2;
}
public void insertFront(Object i) {
DListNode1 temp = new DListNode1(i);
if (size == 0) {
head = temp;
tail = temp;
}
else {
temp.next = head;
head.prev = temp;
head = temp;
} size++;
}
public void removeFront() {
if (size == 0) {
return;
}
else if (size == 1) {
head = null;
tail = null;
size--;
}
else {
head = head.next;
head.prev = null;
size--;
}
}
public String toString() {
String result = "[ ";
DListNode1 current = head;
while (current != null) {
result = result + current.item + " ";
current = current.next;
}
return result + "]";
}
public class num{
public int j;
public num() {
this.j = 34;
}
}
public class testing{
private DList1 dli;
private num n;
public testing(){
dli = new DList1();
n = new num();
dli.insertFront(n);}
public static void main(String[] args) {
testing Jimmy = new testing();
System.out.printf(" this should be 34 %d\n",Jimmy.dli.head.item.j);// dont' work.
}
}
Может кто-нибудь сказать мне, почему я не могу сделать Jimmy.dli.head.item.j
? Это имеет смысл, и, тем не менее, он сказал, что «j не может быть разрешен или не является полем». Как исправить это, чтобы он напечатал 34
? без этой строки "dli.insertFront (n.j);"Передача объекта в DList
Кто такой 'Джимми'? o.O – Smutje
'item''s type is' Object' и 'Object' не имеет поля с именем' j' –
item is n right? не является n.j = 34? – user3331457