Java 使用链表的整数邻接表程序
我正在尝试使用链表在邻接列表上编写代码。数据项是整数,但它显示错误 这是我尝试过的代码。但是它返回一些其他值。你能帮我吗Java 使用链表的整数邻接表程序,java,adjacency-list,Java,Adjacency List,我正在尝试使用链表在邻接列表上编写代码。数据项是整数,但它显示错误 这是我尝试过的代码。但是它返回一些其他值。你能帮我吗 AdjList@6e1408输出是否您需要两个toString()方法,对于AdjList public class AdjList { private Node first; // beginning of list private int N; // size of lis private static class N
AdjList@6e1408输出是否您需要两个
toString()
方法,对于AdjList
public class AdjList {
private Node first; // beginning of list
private int N; // size of lis
private static class Node {
int a;
Node next;
Node(int a, Node next) {
this.a = a;
this.next = next;
}
}
public boolean isEmpty() { return (first == null); }
public int size() { return N; }
public void insert(int a) {
first = new Node(a, first);
N++;
}
public static void main(String[] args) {
AdjList adjlist = new AdjList();
adjlist.insert(1);
adjlist.insert(2);
adjlist.insert(3);
adjlist.insert(4);
System.out.println(adjlist);
}
}
我想如果你尝试这些,你会得到更像你期望的东西。“显示错误?”什么错误?您确定它不仅仅显示对
AdjList
对象的引用,因为您没有覆盖toString
?AdjList@6e1408是输出。我是初学者。如何重写。你能重写代码吗?你必须用签名public String toString()向AdjList
添加一个方法
返回一个字符串,其中包含打印类型为AdjList
的对象时希望看到的格式化输出。
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("AdjList [").append(N).append("] = {");
Node n = this.first;
for (int i = 0; i < N; i++) {
if (i != 0) {
sb.append(", ");
}
sb.append(n.toString());
n = n.next;
}
sb.append("}");
return sb.toString();
}
public String toString() {
return String.valueOf(a);
}