java数组大小界限,超出数组界限异常 大佬帮忙看一下该怎么改

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

void initGroup() {

Random rand=new Random();

int k;

int cityNum=0;

int i= rand.nextInt(clientNum);//随机产生一个城市作为起点

for (k = 0; k

oldMatrix[k][0]=i+1;

int j;//终点

do

{

cityNum++;

//选出单源最短城市

float minDis=Integer.MAX_VALUE;

int minCity=0;

for(j=0;j

{

if(j!= i)

{

//判是否和已有重复

boolean repeat=false;

for(int n=0;n

{

if(oldMatrix[k][n] == j+1)

{

repeat=true;//重了

break;

}

}

if(repeat == false)//没重

{

//判长度

if(punishmentMatrix[i][j] < minDis)

{

minDis=(float) punishmentMatrix[i][j];

minCity=j;

}

}

}

}

//加入到染色体

oldMatrix[k][cityNum]=minCity+1;

i=minCity;

} while(cityNum < clientNum-1);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值