gpt4 book ai didi

java - 为什么 JGraphT 中的 isEulerian() 对我来说是一个 undefined symbol ?

转载 作者:行者123 更新时间:2023-11-30 07:32:12 25 4
gpt4 key购买 nike

我正在尝试使用 JGraphT 来检查图是否是欧拉图。我看到给出了函数 isEulerian() 。我正在使用 JGraphTs 演示之一中的 UndirectedGraph,因此我确信这部分代码是正确的。更重要的是,我已经检查过这个函数返回 boolean 值。尽管如此,我还是收到了一个错误。怎么了?

此外,我还发现 isEulerian() 是静态的,因此我不需要此类的对象来使用该函数。

有用链接:http://jgrapht.org/javadoc/org/jgrapht/alg/EulerianCircuit.html

package org.jgrapht.alg; 
import java.util.List;
import org.jgrapht.alg.*;
import org.jgrapht.*;
import org.jgrapht.graph.*;

public class testowa{

public static void main(String args[]) {
UndirectedGraph<String, DefaultEdge> stringGraph = createStringGraph();
// note undirected edges are printed as: {<v1>,<v2>}
System.out.println(stringGraph.toString());
boolean check = isEulerian(stringGraph);
}



private static UndirectedGraph<String, DefaultEdge> createStringGraph()
{
UndirectedGraph<String, DefaultEdge> g =
new SimpleGraph<String, DefaultEdge>(DefaultEdge.class);

String v1 = "v1";
String v2 = "v2";
String v3 = "v3";
String v4 = "v4";

// add the vertices
g.addVertex(v1);
g.addVertex(v2);
g.addVertex(v3);
g.addVertex(v4);

// add edges to create a circuit
g.addEdge(v1, v2);
g.addEdge(v2, v3);
g.addEdge(v3, v4);
g.addEdge(v4, v1);

return g;
}
}

我不断收到的错误:

testowa.java:14: error: cannot find symbol
boolean check = isEulerian(stringGraph);
^
symbol: method isEulerian(UndirectedGraph<String,DefaultEdge>)
location: class testowa
1 error

最佳答案

您尚未定义任何名为 isEulerian(); 的方法

根据文档docs

您必须传递一些参数。

public static <V,E> boolean isEulerian(UndirectedGraph<V,E> g)该方法将检查传入的图是否是欧拉图。

此外,您需要导入EulerianCircuit 。然后你可以使用EulerianCircuit.isEulerian(stringGraph)

关于java - 为什么 JGraphT 中的 isEulerian() 对我来说是一个 undefined symbol ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35942918/

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