私の関数の目標は、2 つの Vector 間の 1 ポイント クロスオーバー関数を使用して、最初の Vector の要素と 2 番目の Vector の要素を持つ新しいハイブリッド「Son」 Vector を取得することです。
public Vector crossover(int Sol1,int Sol2){
int size;
Vector sol1 = new Vector();
Vector sol2 = new Vector();
sol1 = (Vector) allpop.get(Sol1);
sol2 = (Vector) allpop.get(Sol2);
int crosspoint = (int) sol1.size()/2 ;
Vector son = new Vector();
son= (Vector) sol1.clone() ;
if (sol1.size() < sol2.size())
size = sol1.size();
else size = sol2.size();
for(int j=(crosspoint-1);j<size;j++)
son.set(j,sol2.get(j));
return son;
}
うまく動作することもあれば、「java.lang.ArrayIndexOutOfBoundsException」エラーが発生することもあります..いくつかのアイデアはありますか?