public void Cruzamento(Individuo[]populacao){
int indice = 6;
for (int i =0; i<6; i = i+2){
int []aux = new int[36];
int []aux1 = new int[36];
int []individuoNovo = new int [36];
int []individuoNovo1 = new int [36];
aux = populacao[i].genotipo;
aux1 = populacao[1+1].genotipo;
Cruzar1 (aux,aux1, individuoNovo);
Cruzar2(aux, aux1, individuoNovo1);
populacao[indice].genotipo = individuoNovo;
indice++;
populacao[indice].genotipo = individuoNovo1;
indice++;
}
}
private void Cruzar1(int []aux, int[]aux1, int[]individuoNovo) {
for (int j = 0; j<12; j++){
individuoNovo[j]= aux[j];
}
for (int j = 12; j<24; j++){
individuoNovo[j]= aux1[j];
}
for (int j = 24; j<36; j++){
individuoNovo[j]= aux[j];
}
}
private void Cruzar2(int []aux, int[]aux1, int[]individuoNovo) {
for (int j = 0; j<12; j++){
individuoNovo[j]= aux1[j];
}
for (int j = 12; j<24; j++){
individuoNovo[j]= aux[j];
}
for (int j = 24; j<36; j++){
individuoNovo[j]= aux1[j];
}
}
NullPointerException
J
2 Respostas
Olá Juliana, pelo que entendi, o erro ocorre na linha 12. Isso porque se o seu vetor passado por parâmetro só tem seis posições preenchidas(0 a 5).
Quando você faz:
populacao[indice].genotipo = individuoNovo;
Você está acessando um valor null no seu vetor. Daí quando você “chama” o atributo genotipo, ele lança a NullPointerException…
Debugue e veja se é isso mesmo. 
Até mais!
J
Foi isso mesmo.
Criado 12 de novembro de 2009
Ultima resposta 12 de nov. de 2009
Respostas 2
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo