我目前正在开发一个实现 dijkstra 算法的 java 项目。我有一些看起来与此类似的代码
public static void main(String[] args){
Graph myGraph = null;
execute(myGraph);
}
private static void execute(Graph graph){
while(!quit){
doCommand(graph);
}}
doCommand(Graph graph){
if(command == n){
graph = new Graph(size); }}
在我的程序中,我可以输入一些命令,例如 n 5 这意味着程序应该创建一个包含 5 个节点的新图形。现在我的问题是,在输入例如 n 5 之后,它仍然为空。在我看来,myGraph 应该在 n 命令之后收到一个新的引用,但显然它没有,我不明白为什么。顺便说一句,行 graoh = new Graph(size); 绝对被执行。那不是错误。