[Dúvida] Return, if e métodos

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

pronto 1 return apenas

Você poderia deixar os metodos com seus respectivos nomes. Isso ja pode ajudar a compreender oque eles estão fazendo.

Nos estamos tentando ajudar mas a maneira como você esta postando o codigo não ajuda.

Posta mais algum trecho do codigo, as classes tals.

ahhh apesar deu ter postado ali uma solução, esse código, pra mim, continua um lixo ^^

teria que ser quebrado em novos métodos, e repensado a logica OO dele… mais como vc nem postou o nome original dos métodos fica dificiu ^^

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=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

e para os outros 2 casos ele retorna 5

nao sei cara,

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!!! ^^

nao tenha medo…
vamo vê essas dúvidas

[]s

concordo… alias, vc esta mandando apenas um trecho do codigo… não esta mandando como foi implementado os metodos.

Esquecendo um código e falando apenas em teoria, é possível que uma sequência de if’s se repita automaticamente 5 vezes sem nenhum ciclo?

É que é isso que está a acontecer, sem qualquer motivo aparente a minha sequência de If’s repete 5 vezes.

sem que haja um ciclo nao eh possivel.
vc disse que usa o eclipse? roda este codigo em modo debug ai vc ve passo passo o q ele ta fazendo.

se tiver duvida pra rodar em modo debug diz ai

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.

Obrigado a todos.