In my previous question, I came to know how can I find Index value of Max Value in Array.
Now my problem is I'm trying to make 2 different Arrays by swappingthe array[0] with Max Value and another swapping array[0] with Min Value.
Here I'm able to do it, but the problem is, first I'm swapping array[0] with Min Value. And when I'm trying to swapping array[0] with Max Value, The array that is getting called in is the array output after swapping array[0] with Min value, but not the actual array in input.
import java.util.Arrays;
public class Cook {
    public static void main(String[] args) {
        int num[] = { 3, 1, 5, 2, 4 };
        int start = 0;
        int maxEnd = getMaxValue(num);
        int minEnd = getMinValue(num);
        System.out.println(Arrays.toString(num));
        getMinvalueString(start, maxEnd, minEnd, num);
        getMaxvalueString(start, maxEnd, minEnd, num);
    }
    private static void getMinvalueString(int start, int maxEnd, int minEnd, int[] num) {
        int[] num1 = num;
        int temp = num1[start];
        num1[start] = num1[minEnd];
        num1[minEnd] = temp;
        System.out.println("After replace Min: " + Arrays.toString(num1));
    }
    private static void getMaxvalueString(int start, int maxEnd, int minEnd, int[] num) {
        int[] num1 = num;
        int temp = num1[start];
        num1[start] = num1[maxEnd];
        num1[maxEnd] = temp;
        System.out.println("After replace: " + Arrays.toString(num1));
    }
    public static int getMaxValue(int[] num) {
        int maxValue = num[0];
        int getMaxIndex = 0;
        for (int i = 1; i < num.length; i++) {
            if (num[i] > maxValue) {
                maxValue = num[i];
                getMaxIndex = i;
            }
        }
        System.out.println(getMaxIndex);
        return getMaxIndex;
    }
    public static int getMinValue(int[] array) {
        int minValue = array[0];
        int getMinIndex = 0;
        for (int i = 1; i < array.length; i++) {
            if (array[i] < minValue) {
                minValue = array[i];
                getMinIndex = i;
            }
        }
        System.out.println(getMinIndex);
        return getMinIndex;
    }
}
Here Though I've made a new array num1, the same old array(num), is getting swapped. Please let me know how can I fix this.
Current Output
[3, 1, 5, 2, 4]
After replace Min: [1, 3, 5, 2, 4]
After replace: [5, 3, 1, 2, 4]
Expected Output
[3, 1, 5, 2, 4]
After replace Min: [1, 3, 5, 2, 4]
After replace: [5, 1, 3, 2, 4]
Thanks
 
    