我碰巧在定义一个数组时遇到问题,其中索引应该是类的元素,如下所示:
MWE:
package thisModel;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ThisCode {
public static void main(String[] args) {
class Arc {
private int i; //starting node
private int j; // ending node
public Arc(int i, int j) {
this.i = i;
this.j = j;
}
@Override
public String toString() {
return Integer.toString(i) + " " + Integer.toString(j);
}
}
List<Arc> arcs = new ArrayList<Arc>();
int N = 7;
int [] b = new int [N];
}
}
所以,在这里,如果我按如下方式定义数组:
int [] y = new int [arcs.size()];
然后,错误在以下循环中弹出:
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
//my issue lies here:
//y[Arc(i,j)] - y[Arc(j,i)] = b[i];
}
}
我认为这是因为y[arcs.size()]具有列表大小的维度,而不是它的元素。
我的问题是是否有任何方法可以将ylike定义为一个Arc不arcs.size()这样的数组:
int[] y = new int [Arc(i,j)];
神不在的星期二
相关分类