Ordenação em Java

pessoal, alguém pode me ajudar nesta questão, pois estou fazendo um curso de java a distância e estou meio perdido:

O setor de contabilidade de uma determinada empresa necessita de um software que ordene de forma decrescente os salários de seus funcionários. Implemente um sistema que permite o usuário informar 5 funcionários e seus respectivos salários. Após o usuário informar estes dados, o sistema terá de listar todos os funcionários informados, ordenados de forma decrescente, de acordo seus salários.

Para o sistema descrito:

a) Criar a classe ?Funcionario.java? com atributos: nome, salário. (0,5 pontos)
b) Criar a classe para ?Ordenacao.java? em Java com método. (2,5 pontos)

Atenção: A classe ?Ordenacao.java? terá de conter pelo menos os seguintes métodos:

insSalario(): Neste método terá ser implementado a lógica para inserir em um array de objetos funcionário.
ordenarSalario(Funcionario[] aFun ): Neste método deverá ser implementado a lógica para ordenar e listar os salários dos funcionários registrados no método insSalario();

comecei a faser abaixo, mas vi que não iria ficar legal:

import javax.swing.*;

public class Ordena {

public static double a,b,c,d,e;

public static String a2,b2,c2,d2,e2;

public static void main(String args[]) {
Ordena.InsSalario();

    Ordena.Organiza();

}

public static void InsSalario(){

Funcionario func[]=new Funcionario[5];
for(int i=0;i<5;i++){

                 func[i]=new Funcionario();
                 
                  func[i].setNome(JOptionPane.showInputDialog("entre com o nome do" + i+1 +"º funcionário"));
                  func[i].setSalario(Double.parseDouble(JOptionPane.showInputDialog("entre com o seu salário")));
                       JOptionPane.showMessageDialog(null,"teste"+func[i].getSalario());
  
       
     	       
}
       a=func[0].getSalario(); 
	   b=func[1].getSalario(); 
	   c=func[2].getSalario(); 
	   d=func[3].getSalario(); 
	   e=func[4].getSalario(); 
	   	
       a2=func[0].getNome(); 
	   b2=func[1].getNome(); 
	   c2=func[2].getNome(); 
	   d2=func[3].getNome(); 
	   e2=func[4].getNome(); 
	   	
	   	
}

       public   static void  Organiza(){
       	double ord;
       double[] v = new double[5];
       v[0]=a;
       v[1]=b;
       v[2]=c;
       v[3]=d;
       v[4]=e;
       
       String[] v2=new String[5];
       v2[0]=a2;
       v2[1]=b2;
       v2[2]=c2;
       v2[3]=d2;
       v2[4]=e2;
       	
       	for(int i=0;i<5;i++)
       		for(int j=0;j<5;j++)
       	if(v[j]<v[i]){
       		
       		ord=v[j];
       		v[j]=v[i];
       		v[i]=ord;
       	}
       	
       	System.out.println(v[0]);
       	System.out.println(v[1]);
       	System.out.println(v[2]);
       	System.out.println(v[3]);
       	System.out.println(v[4]);
       	 
       	  
       	
       	for (int i=0;i<5;i++ )
       		
       	if(v[i]==a)
       			System.out.println(" o valor do a" +a+ " está na posição  "+ i+ a2);
       			
       		 JOptionPane.showMessageDialog(null,"nome do funcionário- salário "+"\n"+
            	                                   a2  + a);
       	// aqui estava tentando fazer uma forma de na hora de colocar em ordem por salários, colocar também o nome respectivo do funcionário
       	
       			
       		
       	}  
        	  
        	  

       	


 }

Por favor, ao postar tópicos, não deixe o título INTEIRO COM LETRAS MAIÚSCULAS.

Além disso, siga essas dicas:

LeandroSoares,

tu não precisa das variáveis double a,b,c,d,e; e String a2,b2,c2,d2,e2; , você já criou um array de funcionário usa ele, retorne esse array no método inSalario e passe por parâmetro para o ordena, como está no enunciado do exercicio. Ficaria algo assim

 
Funcionario[] funcs = Ordena.InsSalario();

Ordena.Organiza( funcs ); 

e em vez de v[i] utiliza funcs[i].getSalario()

Valeu pelas dicas.
Eu não sabia bem sobre Array. 
Assiti umas aulas do Youtube sobre Array e deu certo.


ficou assim:


package ad2;

import javax.swing.*;

public class Ordena {


    public static void main(String args[]) {
       Ordena.InsSalario();
 
       

    }

 public   static void  InsSalario(){
 	
   Funcionario func[]=new Funcionario[5];
   int pos=1;
            for(int i=0;i<5;i++){
                  
                     func[i]=new Funcionario();
                     
                      func[i].setNome(JOptionPane.showInputDialog("entre com o nome do " + pos  +"º" +" funcionário"));
                      func[i].setSalario(Double.parseDouble(JOptionPane.showInputDialog("entre com o seu salário")));
                       pos++;
                       
    }
            // aqui imprime só para verificar a sequência digitada;
            System.out.println( " nome digitado  = " +func[0].getNome() + "; salário =" +func[0].getSalario()+"\n"
            	               	+" nome digitado = " +func[1].getNome() + "; salário =" +func[1].getSalario()+"\n"      
                                +" nome digitado = " +func[2].getNome() + "; salário =" +func[2].getSalario()+"\n"
                                +" nome digitado = " +func[3].getNome() + "; salário =" +func[3].getSalario()+"\n"
                                +" nome digitado = " +func[4].getNome() + "; salário =" +func[4].getSalario());
            Ordena.Organiza(func);
    	   	
    	   	
    }
 
           public static    void  Organiza(Funcionario[] f ){
           
           
        	   Funcionario vet[]=new Funcionario[5];
        	   Funcionario op;
        	            vet[0]=f[0];
        	            vet[1]=f[1];
        	            vet[2]=f[2];
        	            vet[3]=f[3];
        	            vet[4]=f[4];
        	            
        	            

        	           	for(int i=0;i<5;i++)
        	           		for(int j=0;j<5;j++)
        	           	if(vet[j].getSalario()<vet[i].getSalario()){
        	           		
        	           		op=vet[j];
        	           		vet[j]=vet[i];
        	           		vet[i]=op;
        	               		
        	               		
        	           	}
        	           		
        	           		
        	           		
        	            
        	            
        	            
        	           JOptionPane.showMessageDialog(null,"nome -          salario"  +"\n"
        	        		                            + vet[0].getNome() +" - "+ vet[0].getSalario() +"\n"
        	                                            + vet[1].getNome() +" - "+ vet[1].getSalario()+"\n"
        	                                            + vet[2].getNome() +" - "+ vet[2].getSalario()+"\n"
        	                                            + vet[3].getNome() +" - "+ vet[3].getSalario()+"\n"
        	                                            + vet[4].getNome() +" - "+ vet[4].getSalario());
        	            
        	           System.exit(0);    
           	}
           	
         
            	  

 	       	
 
 
     }