JPVieira Posted October 26, 2007 at 01:07 PM Report Share #143010 Posted October 26, 2007 at 01:07 PM boas pessoal tenho este código public List <Operator> CriaLista(List <Integer> Lista){ for(int i=0; i<Lista.size();i++) for(int j=0; j<Lista.size(); j++) { TSum = new Sum(Lista.get(i), Lista.get(j)); if((i!=j) && (!TmpSum.contains(new Sum(Lista.get(i), Lista.get(j))))) TmpSum.add(new Sum(Lista.get(i), Lista.get(j))); } return TmpSum; A ideia é ele só adicionar se o TmpSum não tiver ainda esse objecto, o problema é que o contains me retorna sempre false mesmo que os objectos fiquem todos iguais :s o kék tou a fazer mal? Link to comment Share on other sites More sharing options...
Hipnoted Posted October 26, 2007 at 02:18 PM Report Share #143019 Posted October 26, 2007 at 02:18 PM Acho que o problema é de algoritmia, mais concretamente na condição: if((i!=j) && (!TmpSum.contains(new Sum(Lista.get(i), Lista.get(j))))) Para que queres testar o i e o j? é que se essa condição falhar ele não te adiciona nem que não esteja um objecto igual . "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência" Link to comment Share on other sites More sharing options...
JPVieira Posted October 26, 2007 at 02:37 PM Author Report Share #143027 Posted October 26, 2007 at 02:37 PM Imagina k temos uma classe abstracta operator e suas subclasses sum, subtraction, multiplication e division E queremos que esse método recebendo uma lista de inteiros, crie uma lista com todas as operações de soma entre os numeros dessa lista... a lista criada seria na forma de List<Operator> Lista Imagina k os elementos da lista que o método recebe seriam 12 14 22 Claro que não quero k nessa lista k apareça a soma 12 + 12, daí o i != j e o contains era para evitar que aparecesse na lista somas que já tivessem inseridas... já tive a testar e o problema é mesmo do contains, retorna sempre false... mesmo sendo tudo igual... :s tem de haver uma explicação Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now