我的图形代码没有运行并且没有抛出任何错误?

我正在尝试实现一个图表。我无法理解为什么我的代码不起作用。我试图看看哪里出了问题,但无法弄清楚,而且我的IDE也没有给出任何错误。我是初学者,有人可以告诉我我在哪里以及为什么吗?我在下面发布我的代码。


import java.util.*;

class Graph {


    private int V;

    private LinkedList<Integer>[] adjList ;


    Graph(int V) {


        adjList = new LinkedList[V];


        for(int i=0 ; i<V ; i++) {

            adjList[i] = new LinkedList<Integer>();

        }

    }


    public void addEdge(int v, int w) {

        adjList[v].add(w);

    }


    public void printGraph(Graph graph) {

        for(int i=0 ; i<graph.V ; i++) {

            for(Integer pCrawl : graph.adjList[i]){

                System.out.print(pCrawl+" ");

            }

        }

    }


    public static void main(String[] args) {

        Graph g = new Graph(4); 


        g.addEdge(0, 1); 

        g.addEdge(0, 2); 

        g.addEdge(1, 2); 

        g.addEdge(2, 0); 

        g.addEdge(2, 3); 

        g.addEdge(3, 3); 


        g.printGraph(g);

    }

}


慕哥9229398
浏览 112回答 3
3回答

一只名叫tom的猫

你的Graph班级有一个名为 的字段V。还有一个int V由构造函数接收的参数。它们不是同一个变量。除非您初始化该字段V,否则它将为零。所以这个循环for(int&nbsp;i=0&nbsp;;&nbsp;i<graph.V&nbsp;;&nbsp;i++)立即退出。V将字段设置为构造函数中接收到的变量的方法V是添加this.V&nbsp;=&nbsp;V;在你的构造函数里面。

暮色呼如

您需要像这样初始化V:this.V = V;在构造函数内。另一件事是,该方法printGraph不需要接收 Graph varibale,你可以这样写:public void printGraph() {&nbsp; &nbsp; for(int i=0 ; i<V ; i++)&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; for(Integer pCrawl : adjList[i])&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print(pCrawl+" ");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;}

绝地无双

您需要打印整行来管理 y 轴并通过 adjList 中的元素数量限制 i:&nbsp; &nbsp; public void printGraph(Main graph) {&nbsp; &nbsp; &nbsp; &nbsp; for(int i=0 ; i<graph.adjList.length ; i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(Integer pCrawl : graph.adjList[i]){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print(pCrawl+" ");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("");&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }这将输出以下内容:1 220 33如果你想旋转它,你只需要更改添加参数:)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java