Ordenar - Monitores

Ordenar - Monitores

by José Eduardo Santos -
Number of replies: 2

Aos monitores: Já postei algumas mensagens pedindo ajuda relativa à ordenação( seja por ordem alfabética ou PG) e não obtive respostas...Favor esclarecer como faço para implementar os requisitos do EP referente à essa ordenação. Obrigado,

Eduardo

In reply to José Eduardo Santos

Re: Ordenar - Monitores

by Pablo Laura -
Olá jose,

Sim tem que criar classes que implementem a interface ComparaTimes

uma classe Compara os times por Nome e a outra classe que compara por pontos ganhos; dentro
de cada classe implementar o método eMenor(int i, int j)

tome conta de que cada classe recibe um parametro diferente(parametro do construtor),

a classe Compara os times por Nome recebera os times (vetor String[])como parametro cuando vc cria um novo objeto

a classe que compara por pontos ganhos recebera um vetor contendo os pontos ganhos(vetor int[]) ou a matriz
e no corpo da classe tera que especificar qual coluna da matriz usara(coluna dos pontos ganhos)


depois

tem que implementar o método ordenaTimes para q retorne um vetor contendo posições ordenadas
nesse método pode fazer algo assim,

int[] ordenaTimes( ComparaTimes comparador )
-aqui pode criar um vetor que armazena 10 posições (vetor) int[] vetor={0,1,2,3,4,5,6,7,8,9}
-usar o comparador
se cumple que: comparador.eMenor( vetor[posicao], vetor[outraPosicao])
trocar os conteúdos do vetor (que armazena posicoes)

-depois retornar o vetor de posições ordenado

cuando vc cria um obj comparador tem q passar para ele um vetor contendo os pontosGanhos
ou a matriz de estatisticas (depende de como implementou a interface comparaTimes)

depois pode usar ese vetor ordenado de posições para imprimir a matriz, imprimir(Matriz[vetor[posicoes]][j])
tem diferentes formas para fazer...


-no metodo imprimeEstatiticas cria um objeto de ComparaTimesPorNome e chama ordenaTimes

// declarar timesOrdenados;

ComparaTimesPorNome OrdenPorNome = new ComparaTimesPorNome(times);
timesOrdenados = ordenaTimes(OrdenaPorNome);
....
//imprimir


O mesmo caso para ordenar os times por pontos ganhos e chama ordenaTimes

todo ja foi dito em outras perguntas relacionadas a sua duvida, procure no foro

[]'s

Pablo

In reply to Pablo Laura

Re: Ordenar - Monitores

by José Eduardo Santos -

Obrigado pela sua resposta, porém eu realmente já havia lido algumas mensagens do fórum relacionadas a isso e não havia comprendido. E continuo na mesma...preciso de exemplos mais concretos...de qualquer forma valeu...

Eduardo