私は現在、ダイクストラ アルゴリズムを実装する 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 を入力した後、それがまだnullであることです。私の意見では、myGraph は n コマンドの後に新しい参照を受け取る必要がありますが、明らかにそうではなく、理由もわかりません。ところで、行 graoh = new Graph(size); 確実に実行されます。それは間違いではありません。