1

私のコードには、変数が 1 つあります。

public Edge[] adjacencies;

初期化配列は次のようになります。

     v0.adjacencies = new Edge[] {
        new Edge(v1, distance[0][1]),
        new Edge(v2, distance[0][2]),
        new Edge(v3, distance[0][3]),
        new Edge(v4, distance[0][4]),
        new Edge(v5, distance[0][5]),
        new Edge(v6, distance[0][6]),
        new Edge(v7, distance[0][7]) 
        };

しかし、動的な初期化を次のようにしたいと思います。

 v0.adjacencies = new Edge[] {
    for(int i=1;i<8;i++)    
         new Edge("v"+i, distance[0][i]); 
 };
4

5 に答える 5

0

java.util package,具体的には を調べてくださいArrayList class。などのメソッドが.add() .remove() .indexof() .contains() .toArray(),あります

于 2013-10-23T05:40:40.533 に答える
0

v1変数などについてはすべて忘れてくださいv2。最初はすべてを配列に保持するだけです。

Vertex[] vertices = new Vertex[8];
for (int i = 0; i < 8; i++) {
    vertices[i] = new Vertex();
}

vertices[0].adjacencies = new Edge[7];
for (int i = 1; i < 8; i++) {
    vertices[0].adjacencies[i - 1] = new Edge(vertices[i], distance[0][i]);
}
于 2013-10-23T06:34:18.563 に答える