Salve ragazzi come da titolo vi propongo un problema:

Si scriva un programma che preso in ingresso l’insieme delle variazioni percentuali di titoli
borsistici restituisca in uscita lo stesso insieme ma contenente solamente i titoli che hanno subito
una variazione negativa (cioè si eliminino dal vettore i titoli che hanno avuto un incremento
positivo). Si ordini in senso decrescente e infine si stampi il vettore così ottenuto. Si stampi un
opportuno messaggio nel caso in cui tutti i titoli hanno incrementato il loro valore.

Questa è la traccia,io come al solito ho incontrato un problema nel codice,ed esattamente nell'ordinare decrescentemente l'array: all' atto pratico il mio codice di sicuro contiene errori nella seconda parte,ovvero quella dell'ordinamento:

codice:
package javaapplication22;
import java.util.Scanner;
/**
 *
 * @author 
 */
public class JavaApplication22 {


    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // Fase di input
        Scanner sc= new Scanner (System.in);
        
        System.out.println("Inserisci la lunghezza dell'array");
        int n=sc.nextInt();
        double v[]=new double [n];
        int cont=0;
        int b=0;
      //Inserimento valori array
        for (int i=0; i<n;i++)
        {System.out.println("Inserisci i valori dei titoli");
        v[i]=sc.nextDouble();}
       for (int i=0; i<n;i++)
        {if(v[i]>0){v[i]=v[i+1];
        n--;
        }
        else
        cont++;
        }
   
  for (int i=0; i<n-1;i++)
     {if(v[i]<v[i+1])
       {double temp;
       temp=v[i];
       v[i]=v[i+1];
       v[i+1]=temp;
       }
     System.out.println("I valori ordinati sono"+v[i]);
       }
   if(cont==0) {System.out.println("Tutti i titoli hanno incrementato il valore");} 
  }}

P.S.confido sempre nella vostra buona volontà(gli esercizi sto cercando di farli con il ragionamento applicato alla teoria)