Sorting program code I have done a sorting program, it works but I am new to the coding world and I would love to hear your thoughts.
    public class CorrectPlacement {

    public void placer(int... numbers) {
        System.out.println(&quot;Before : &quot; + Arrays.toString(numbers) + &quot; &quot;);
        for (int i = -1; i &lt;= numbers.length - 2; i++) {
            int min = numbers[i + 1];
            for (int number : numbers) {

                if (number &lt;= min &amp;&amp; indexofTheRight(number, numbers, i) &gt; i) {
                    min = number;
                }
            }
            numbers[indexofTheRight(min, numbers, i)] = numbers[i + 1];
            numbers[i + 1] = min;
        }
        System.out.println(&quot;After : &quot; + Arrays.toString(numbers));
    }

    public int indexofTheRight(int element, int[] array, int range) {

        for (int i = array.length - 1; i &gt; range; i--) {
            if (array[i] == element) {
                return i;
            }
        }
        return -1;
    }
}
A few things.
for (int i = 0; i &lt; numbers.length-1; i++)

Also, look up quick sort.  Worst-case performance O(n^2) with a best-case of O(nlogn).  By randomizing the pivot in the quick sort you can enhance the best case scenario.
Psuedo for recursive Quicksort:
partition(arr[], low, high)
    pivot = arr[high]
    i = low
    for j:= low to high-1
        if arr[j] &lt;= pivot
            swap arr[i] with arr[j]
            i = i+1
   swap arr[i] with arr[high]

random(arr[], low, high)
    r = a random number from low to high
    swap arr[r] and arr[high]
    return partition(arr, low, high)

quickSort(arr[], low, high)
    if low &lt; high
        p = random(arr, low, high)
        quickSort(arr, low , p-1)
        quickSort(arr, p+1, high)