gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 01:19:10 24 4
gpt4 key购买 nike

我正在尝试实现一个图表。我无法理解为什么我的代码不起作用。我试图看看哪里出了问题,但无法弄清楚,而且我的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);
}
}

最佳答案

您的Graph类有一个名为V的字段。还有一个由构造函数接收的参数int V。它们不是同一个变量。除非您初始化字段 V,否则它将为零。

所以这个循环

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

立即退出。

将字段 V 设置为构造函数中接收到的变量 V 的方法是添加

this.V = V;

在你的构造函数中。

关于java - 我的图形代码没有运行并且没有抛出任何错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58040269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com