int myReturn = -1;
if (parametro > array1[ai].MetodoINT(parametro)){
if (parametro > array1[ai].MetodoINT2(parametro)){
myReturn = 5; //ja que para os 2 casos dentro dos proximos if o return é 5
if (array1[ai].MetodoBOOLEAN(parametro)){
int ali = MetodoINT3(array1[ai].MetodoINT4(parametro));
array2[ali].Metodo(array1[ai].Metodo(parametro)); // Aqui são operações
array1[ai].Metodo(parametro, parametro, parametro); // em métodos que
array2[ci].Metodo(parametro); // não interessa
} else {
array1[ai].Método(parametro, parametro, parametro); //Mais operações
array2[ci].Metodo(parametro); // que não interessa
}
} else {
myReturn = (array1[ai].MetodoINT5(parametro));
}
} else
myReturn = (array1[ai].MetodoINT6(parametro));
return myReturn
Não posso mostrar o código pois é um projecto para a escola e posso chumbar se alguém vir isto e me copiar.
O que acontece, ou o que me parece acontecer, é que ele executa tudo bem, mas quando chega ao último if e o executa, em vez de parar, continua e faz o return que está em baixo em vez de fazer o return de cima.
O que também aconteceu é que reparei que dependedo do input o return errado é diferente, ou seja, parece que depois de correr o método todo, volta a cima e começa a testar os if’s novamente.
[quote=rconde]Este método tem 10 formas de retorno.
Não posso mostrar o código pois é um projecto para a escola e posso chumbar se alguém vir isto e me copiar.
O que acontece, ou o que me parece acontecer, é que ele executa tudo bem, mas quando chega ao último if e o executa, em vez de parar, continua e faz o return que está em baixo em vez de fazer o return de cima.
O que também aconteceu é que reparei que dependedo do input o return errado é diferente, ou seja, parece que depois de correr o método todo, volta a cima e começa a testar os if’s novamente.[/quote]
sem o código, sem a solução ^^
o maximo que da pra fazer por vc ta feito, aquele código que eu postei ali em cima, faz exatamente o que vc falou que queria que fizesse aqui…
ele retorna metodoINT6 quando nada é verdade…
retorna MetodoINT5 quando parametro > MetodoINT2
mas quanto ao medo de ter o trabalho copiado…
postando o código aqui até pode ter algum colega vivo que copie, MAS…
vc postou suas duvidas durante o processo de construção do mesmo, ainda não pronto na tentativa de o fazer, provando pra alguém que questione quem realmente é o autor do trabalho, ou seja, aquele que realmente correu atrás da solução que é vc!!! ^^
Apesar de ser estranho, não descobri o problema. Alterei a forma como estava a fazer o programa, criei mais uma class e acabei por pôr esta sequência de condições na Main.