Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用链表的整数邻接表程序_Java_Adjacency List - Fatal编程技术网

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);
}