Thanks for the hints on the value of max.
Here is my new code and it working, but I don't understand why the inner loop need to have an index of max which = i for it to work.
public static void sortTitles(Movie3[]list )
{
Movie3 temp;
int max ;
for(int x = list.length-1 ; x > 0 ;x--)
{
max = 0 ;
for(int i = 1 ; i <= x ;i++)
{
String next = list[max].getTitle();
if((next.compareTo(list[i].getTitle())) > 0 )
{
max = i ;
}
System.out.println(max);
}
temp = list[x];
list[x] = list[max];
list[max] = temp;
}
}