Java 为什么JGraphT中的isEulerian()对我来说是一个未定义的符号?
我试图使用JGraphT来检查一个图是否是欧拉图。我看到函数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
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)
此方法将检查传入的图形是否为欧拉图形
此外,您还需要导入classEulerianCircuit
。然后您可以使用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