Java 为什么JGraphT中的isEulerian()对我来说是一个未定义的符号?

Java 为什么JGraphT中的isEulerian()对我来说是一个未定义的符号?,java,graph,jgrapht,Java,Graph,Jgrapht,我试图使用JGraphT来检查一个图是否是欧拉图。我看到函数isEulerian()已经给出。我使用的是JGraphTs演示中的UndirectedGraph,因此我确信这部分代码是正确的。此外,我还检查了这个函数是否返回布尔值。不过,我还是收到了一个错误。怎么了 我还看到,isEulerian()是静态的,所以我不需要这个类的对象来使用这个函数 有用链接: package org.jgrapht.alg; 导入java.util.List; 导入org.jgrapht.alg.*; 导入org

我试图使用JGraphT来检查一个图是否是欧拉图。我看到函数
isEulerian()
已经给出。我使用的是JGraphTs演示中的
UndirectedGraph
,因此我确信这部分代码是正确的。此外,我还检查了这个函数是否返回布尔值。不过,我还是收到了一个错误。怎么了

我还看到,
isEulerian()
是静态的,所以我不需要这个类的对象来使用这个函数

有用链接:

package org.jgrapht.alg;
导入java.util.List;
导入org.jgrapht.alg.*;
导入org.jgrapht.*;
导入org.jgrapht.graph.*;
公共类testowa{
公共静态void main(字符串参数[]){
UndirectedGraph stringGraph=createStringGraph();
//注:无向边打印为:{,}
System.out.println(stringGraph.toString());
布尔检查=isEulerian(stringGraph);
}
私有静态无向图createStringGraph()
{
无向图g=
新的SimpleGraph(DefaultEdge.class);
字符串v1=“v1”;
字符串v2=“v2”;
字符串v3=“v3”;
字符串v4=“v4”;
//添加顶点
g、 addVertex(v1);
g、 addVertex(v2);
g、 addVertex(v3);
g、 addVertex(v4);
//添加边以创建回路
g、 增补(v1,v2);
g、 附录(v2,v3);
g、 附录(v3,v4);
g、 增补(v4,v1);
返回g;
}
}
我一直收到的错误:

testowa.java:14: error: cannot find symbol
        boolean check = isEulerian(stringGraph);
                        ^
  symbol:   method isEulerian(UndirectedGraph<String,DefaultEdge>)
  location: class testowa
1 error
testowa.java:14:错误:找不到符号
布尔检查=isEulerian(stringGraph);
^
符号:方法isEulerian(无向图)
位置:testowa类
1错误

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

根据文件

您必须传递一些参数

publicstaticbooleaniseulerian(无向图g)
此方法将检查传入的图形是否为欧拉图形


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

我知道isEulerian将检查图形是否为欧拉。我不知道我为什么要这么做?我想使用我添加的JGraphT库中的此函数。您已在我的回答后编辑了您的问题。现在有什么问题?你能详细说明一下像这样的方法吗。我已经编写了布尔检查=isEulerian(stringGraph);我已更新错误,不知道如何更正错误。请检查编辑的答案。您必须导入类EulerianCircuit
testowa.java:14: error: cannot find symbol
        boolean check = isEulerian(stringGraph);
                        ^
  symbol:   method isEulerian(UndirectedGraph<String,DefaultEdge>)
  location: class testowa
1 error