Problemas com utilização de um metodo de outra classe

1 resposta
W

Ae galera,

Estou fazendo o problema de josephus, e nele encontrei um problema,

Tenho uma lista circular com o seguinte metodo:

public int busca(String x){

No pt;
if (estaVazia()==false){
	   pt = cabeca;
	   for(int cont=1; cont <=n; cont++){
	 	 if(pt.pegaInfo()==x) return 1;
		 pt = pt.pegaProx();
	    }//for
    }//if
   else{System.out.println("	A Lista esta vazia");}

   return 0;
}//busca()
Testando com o seguinte codigo dentro da classe aparece o seguinte:

Lista.insere(Joao);

Lista.insere(Jose);

System.out.println(Lista.busca(Joao));

System.out.println(Lista.busca(Joaquim));

Ele imprime:
1
0

Até ai tudo bem,
mas agora, eu estou fazendo a classe principal, e quando mando fazer o mesmo comando dentro dela, ela sempre retorna 0!!!

O que eu faço?

1 Resposta

douglasfs

“WolfSpirit”:
Ae galera,

Estou fazendo o problema de josephus, e nele encontrei um problema,

Tenho uma lista circular com o seguinte metodo:

public int busca(String x){

No pt;
if (estaVazia()==false){
	   pt = cabeca;
	   for(int cont=1; cont <=n; cont++){
	 	 if(pt.pegaInfo()==x) return 1;
		 pt = pt.pegaProx();
	    }//for
    }//if
   else{System.out.println("	A Lista esta vazia");}

   return 0;
}//busca()
Testando com o seguinte codigo dentro da classe aparece o seguinte:

Lista.insere(Joao);

Lista.insere(Jose);

System.out.println(Lista.busca(Joao));

System.out.println(Lista.busca(Joaquim));

Ele imprime:
1
0

Até ai tudo bem,
mas agora, eu estou fazendo a classe principal, e quando mando fazer o mesmo comando dentro dela, ela sempre retorna 0!!!

O que eu faço?

Olhando rapidamente no seu código, eu acho que essa linha contém um erro :

if(pt.pegaInfo()==x) return 1;

Já que “x” é uma string e assumindo que o pegaInfo() retorne também uma String, você deve compara-lo através do método “equals” e não pelo igual, ficaria assim :

if(pt.pegaInfo().equals(x)) return 1;

Lembrando que a comparação de Strings é pelo método “equals”

Criado 20 de maio de 2003
Ultima resposta 20 de mai. de 2003
Respostas 1
Participantes 2