¿Por qué mi ciclo de clasificación parece añadir un elemento donde no debería?

Estoy tratando de ordenar una serie de cadenas utilizandocompareTo(). Este es mi código:

static String Array[] = {" Hello ", " This ", "is ", "Sorting ", "Example"};
String temp;

public static void main(String[] args)
{

   for (int j=0; j<Array.length;j++)
   {
       for (int i=j+1 ; i<Array.length; i++)
       {
           if (Array[i].compareTo(Array[j])<0)
           {
               String temp = Array[j];
               Array[j] = Array[i];
               Array[i] = temp;
           }
       }
       System.out.print(Array[j]);
   }
}

Ahora la salida es:

Hello  This Example Sorting is

Estoy obteniendo resultados, pero no los resultados que quiero obtener, que son:

Hello This Example Is Sorting

¿Cómo puedo ajustar mi código para ordenar la matriz de cadenas correctamente?

Respuestas a la pregunta(8)

Su respuesta a la pregunta