Alterar void para int! help

7 respostas
Sandokhan

Criei esse método mas não consigo faze-lo como int alguém sabe como posso faze-lo? Tipo não quero imprimir uma mensagem quero retornar um valor.

public void lastIndexOf(Object objeto){
		//informa o indicie da ultima ocorrencia;
		for (int i = this.totalObjetos -1 ; i >=0; i--) {
			if (this.objetos[i].equals(objeto)) {
				System.out.println("A ultima ocorrência do elemento "+objeto + " está na posição "+i+" do vetor.");
				break;
			}

		}
	}

Desde já obrigado!!

7 Respostas

Rodrigo_Sasaki

public int lastIndexOf(Object objeto){É isso?

Lembre-se que fazendo essa alteração, o compilador irá esperar uma linha de retorno. que creio eu que deva ficar onde atualmente está o seu System.out

josiloch
public int lastIndexOf(Object objeto){  
        //informa o indicie da ultima ocorrencia;  
        for (int i = this.totalObjetos -1 ; i >=0; i--) {  
            if (this.objetos[i].equals(objeto)) {  
              return i;
            }  
  
        }  return 0;
    }
Acredito que seja isso que você quer fazer.
Sandokhan

Rodrigo quando faço isso ele informa que método deve retornar um inteiro, mas se coloco o return i, pra retornar a posição ele não funciona o que pode ser?

Sandokhan

Josiloch, já havia tentando fazer isso mas quando chamo o método ele não retorna nada.

Sandokhan
Olha só como está:
public class TesteLastIndexOf {

	public static void main(String[] args) {
	
		Jogador j1 = new Jogador();
		Jogador j2 = new Jogador();
		

             j1.setNome("Pedro");
		j2.setNome("Paula");
				
		Vetor lista = new Vetor();
		
		lista.adiciona(j2);
		lista.adiciona(j1);
		lista.adiciona(j2);
		lista.adiciona(j1);
		
		
		System.out.println(lista);
		
		lista.lastIndexOf(j2);
		
	}

}
Quando chamo a função ele só imprime meu vetor mas o retorno do método não!!
Arthur_F_Ferreira
Sandokhan:
Olha só como está:
public class TesteLastIndexOf {

	public static void main(String[] args) {
	
		Jogador j1 = new Jogador();
		Jogador j2 = new Jogador();
		

             j1.setNome("Pedro");
		j2.setNome("Paula");
				
		Vetor lista = new Vetor();
		
		lista.adiciona(j2);
		lista.adiciona(j1);
		lista.adiciona(j2);
		lista.adiciona(j1);
		
		
		System.out.println(lista);
		
		lista.lastIndexOf(j2);
		
	}

}
Quando chamo a função ele só imprime meu vetor mas o retorno do método não!!

Não faltou colocar o println?

System.out.println(lista.lastIndexOf(j2));
Sandokhan

Obrigado galera pela ajuda, encontrei onde eu estava “errando”. O problema é que eu chamava o método mas não pedia para imprimir o retorno.

Gracias.

Criado 21 de dezembro de 2012
Ultima resposta 21 de dez. de 2012
Respostas 7
Participantes 4