Simone, talvez ajude se eu enviar a estrutura do meu código fonte(foi no chute, mas funciona!):
static void imprimeClassificação(int[][] E)
{
..
ComparaTimesPorPGDecrescente obj = new ComparaTimesPorPGDecrescente(Array pontos Ganhos conterá os valores da coluna PG);
pontos Ganhos==>Array que você usará para comparar no "IF do ordenaTimes"
ordenaTimes(obj); //Simone, é isso que você quer?
...
}
public static class ComparaTimesPorPGDecrescente implements ComparaTimes
{
int [] Matriz que será comparada no metodo abaixo(boolean éMenor)
public boolean éMenor(int i, int j)
{
...
Atualiza o array(que contem pontos ganhos) vindo do Construtor ComparaTimes==> tem que fazer isso senão a ordenação não funciona corretamente
Array que você deve comparar , vindo do construtor ComparaTimes, onde você retornará true ou false
...
}
ComparaTimesPorPGDecrescente(int []p)==> construtor comparaTimes
{
...
Matriz que será comparada no metodo(boolean) = P[X]
...
}
}//fecha chave da classe ComparaTimesPorPGDecrescente
static int [] ordenaTimes(ComparaTimes comparador)(eu usei o metodo BOLHA)
{
abaixo você deverá inserir o tipo de ordenção que você quiser (Ex.: Inserção Direta....) o que mudará será BASICAMENTE a condição(mostrada a baixo)
....
if(comparador.éMenor(j-1, j)){ // usará o metodo boolean éMenor, onde este devolverá true ou false
// se você usar a Inserção direta, PROVAVELMENTE o principal a mudar será a condição comparador.éMenor(......)
se true troca os atributos da matriz
se false não faz nada
...
}
public static void main (String [] args)
{
calculaEstatisticas(geraResultado());
imprimeClassificação(matriz geral que representa no código fonte calculaEstatisticas(geraResultado()); );
}
Espero ter ajudado! BOA SORTE.