Chamar método

Opa.

Então, volta as aulas agora nesse começo de semestre, estrutura de dados, o professor desenvolver um algoritmo com os alunos acompanhando.
E hoje ele pediu para que fizéssemos um método para remover uma string de um vetor ordenado e também re-ordenaria o vetor.
Claro, usando o código dele como base.
Pensei em uma lógica e a pus em prática, depois de um bom tempo sem mexer em java, após passar toda lógica para o Eclipse me deparei com um problema, não consigo chamar aquele método de maneira alguma, não consigo fazer com que o compilador o execute.
Enfim, abaixo o código fonte:

App.java

[code]import javax.swing.*;
public class App {

public static void main(String[] args) {
	Lista listaA = new Lista(5);
	Lista listaB = new Lista(5);
	Lista listaC = new Lista(10);
	for (int i = 0; i < 10; i++) {
		String elemento = 
			JOptionPane.showInputDialog( i + " :Entre com o elemento ");
		int sucesso = listaA.inserirElemento(elemento);
		if(sucesso == -1){
			System.out.println("Lista cheia");
			break;
		}else{
			System.out.println(listaA);
		}
	}
	
	
	String elementoBusca = 
		JOptionPane.showInputDialog( " :Entre com o elemento que deseja exluir ");
    listaA.excluirElemento(elementoBusca);
    listaA.removerElemento(elementoBusca);
	// int pos = listaA.getIndiceElemento(elementoBusca, 2);
    //System.out.println(pos);
}

}
[/code]

Lista.java

[code]public class Lista {
String[] dados;
int pontoEntrada;
int qtElementos;
int posFimElemento;
int posElemento;
int aux;
public Lista(int qtElementos) {
super();
dados = new String[qtElementos];
pontoEntrada = 0;
this.qtElementos = 0;
}

private int procurarPontoInsercao(String entrada){
	for (int i = 0; i < pontoEntrada; i++) {
		int retorno = entrada.compareTo(dados[i]);
		if(retorno < 0){
			return i;
		}
	}
	return pontoEntrada;
}

public int getIndiceElemento(String elemento){
	return getIndiceElemento(elemento, 0);
}
public int getIndiceElemento(String elemento, int posicaoInicial){
	while(posicaoInicial < qtElementos){
		if(elemento.equals(dados[posicaoInicial])){
			return posicaoInicial;
		}else{
			posicaoInicial++;
		}
	}
	return -1;
}
	public int inserirElemento(String elemento){
	
	int retorno = 1;
	if(qtElementos < dados.length )	{
		int posEntrada = procurarPontoInsercao(elemento);
		criarEspaco(posEntrada);
		dados[posEntrada] = elemento;
		pontoEntrada++;
		qtElementos++;
	}else{
		retorno = -1;
	}
	return retorno;

}



public int excluirElemento(String elemento){
	int valorRetorno = -1;
	int posInicioElemento = getIndiceElemento(elemento, 0);
	aux = posInicioElemento;
	posFimElemento = posInicioElemento;
	posElemento= posInicioElemento;
	do{
		posElemento = getIndiceElemento(elemento, ++posElemento);					
		posFimElemento = posElemento != -1? posElemento: posFimElemento;
	}while(posElemento != -1);
	return valorRetorno;		
}
public String removerElemento(String elemento) {
	int resultadoSub = posFimElemento - aux;
	int valorRetornoDois = -1;
	int aux2 = 0;
	if (resultadoSub < 5) {
		aux2 = (5 - resultadoSub);
		for (int i = aux; i < 5; i++){
			dados[i] = dados[aux2 + 1];
		}
		for (int i = aux2+1; i < 5; i++ ){
			
		
		dados[aux2] = null; 
	}
	}
	if (resultadoSub == 0) {
		for (int i = 0; i <5 ; i++){
			dados[i]=null;
		}
		
		
	}
	for (int i = 0; i <5 ; i++){
		return(dados[i] + "\n");
	}	
	}
	


private void criarEspaco(int posInicio){
	for (int i = pontoEntrada; i > posInicio; i--) {
		dados[i] = dados[i-1];
	}
}

public String toString(){
	String retorno = "";
	for (int i = 0; i < dados.length; i++) {
		retorno +=  i + ": " + dados[i]+ "\n" ;
	}
   return retorno;
}

}
[/code]

O meu método que já está na lista a cima:

[code]public String removerElemento(String elemento) {
int resultadoSub = posFimElemento - aux;
int valorRetornoDois = -1;
int aux2 = 0;
if (resultadoSub < 5) {
aux2 = (5 - resultadoSub);
for (int i = aux; i < 5; i++){
dados[i] = dados[aux2 + 1];
}
for (int i = aux2+1; i < 5; i++ ){

		dados[aux2] = null; 
	}
	}
	if (resultadoSub == 0) {
		for (int i = 0; i <5 ; i++){
			dados[i]=null;
		}
		
		
	}
	for (int i = 0; i <5 ; i++){
		return(dados[i] + "\n");
	}	
	}[/code]

Se puderem me dizer onde estou errando e como faço para chamar o método eu ficaria muito grato.

Qual o erro que ocorre?

O ‘algoritmo’ dentro do método, eu sei que não vai fazer o que eu quero. PORÉM eu não consigo/não sei chamar o método, fazer com que ele execute. Entende?

Fala Anonner…
Este seu método retorna uma String…
Ou você retorna uma String ou muda para void…
Flw

[quote=diego.sas]Fala Anonner…
Este seu método retorna uma String…
Ou você retorna uma String ou muda para void…
Flw[/quote]

Opa, então diego.sas.

Valeu por está me ajudando.
Coloquei como void e ele parou de retorna o erro.
Porém minha dúvida agora é, como ‘chamo’ esse método lá no app.java ?

Posta o codigo ai

 public static void main(String[] args) {   
        Lista listaA = new Lista(5);   
        Lista listaB = new Lista(5);   
        Lista listaC = new Lista(10);   
        for (int i = 0; i < 10; i++) {   
            String elemento =   
                JOptionPane.showInputDialog( i + " :Entre com o elemento ");   
            int sucesso = listaA.inserirElemento(elemento);   
            if(sucesso == -1){   
                System.out.println("Lista cheia");   
                break;   
            }else{   
                System.out.println(listaA);   
            }   
        }   
           //CHAMAR O MÈTODO
          listaC.removeElemento("valor");
          // Debbuga para voce enteder o que esta ocorrendo
        String elementoBusca =   
            JOptionPane.showInputDialog( " :Entre com o elemento que deseja exluir ");   
        listaA.excluirElemento(elementoBusca);   
        listaA.removerElemento(elementoBusca);   
        // int pos = listaA.getIndiceElemento(elementoBusca, 2);   
        //System.out.println(pos);   
    }

Espero ter ajudado…
Flw

Opa, muito obrigado, achou sim.
Valeu pela ajuda.