大家好
这边有个程式问题想要请教,弄了好久还是不知道问题在哪
以下是程式码
public void copyGh(int k, int kk) {
int i;
for (i = 0; i < cityNum; i++) {
newPopulation[k][i] =oldPopulation[kk][i]; }
public void select() {
int k, i, selectId;
float ran1;
for (k = 1; k < scale; k++) {
ran1 = (float) (random.nextInt(65535) % 1000 / 1000.0)
;
for (i = 0; i < scale; i++) {
if (ran1 < Pi[i])
break; }
selectId = i;
copyGh(k, selectId); } }
参数scale为100
执行这部分时会出现error
说明kk超过100,但i最大为99
那selectId最大也是99
为何会出现100?
手机排版有点乱,抱歉