int[] array (sort lowest to highest)

Solution 1:

Unless you think using already available sort functions and autoboxing is cheating:

Integer[] arr =
    { 12, 67, 1, 34, 9, 78, 6, 31 };
    Arrays.sort(arr, new Comparator<Integer>()
    {
        @Override
        public int compare(Integer x, Integer y)
        {
            return x - y;
        }
    });

    System.out.println("low to high:" + Arrays.toString(arr));

Prints low to high:[1, 6, 9, 12, 31, 34, 67, 78]

if you need high to low change x-y to y-x in the comparator

Solution 2:

You are never visiting the last element of the array.

Also, you should be aware that bubble sort is pretty inefficent and you could just use Arrays.sort().