w3resource

Java: Shuffle a given array of integers


60. Shuffle a given array of integers

Write a Java program to shuffle a given array of integers.

Example:
Input :
nums = { 1, 2, 3, 4, 5, 6 }
Output:
Shuffle Array: [4, 2, 6, 5, 1, 3]

Sample Solution:

Java Code:

// Import necessary Java classes.
import java.util.Arrays;
import java.util.Random;

// Define a class named 'solution'.
class solution
{
    // A method to shuffle an array using the Fisher-Yates algorithm.
    public static void shuffle(int nums[])
    {
        for (int i = nums.length - 1; i >= 1; i--)
        {
            // Create a random number generator.
            Random rand = new Random();

            // Generate a random index j between 0 and i (inclusive).
            int j = rand.nextInt(i + 1);

            // Swap elements at indices i and j.
            swap_elements(nums, i, j);
        }
    }

    // A method to swap two elements in an array.
    private static void swap_elements(int[] nums, int i, int j) {
        int temp = nums[i];
        nums[i] = nums[j];
        nums[j] = temp;
    }

    public static void main (String[] args)
    {
        int[] nums = { 1, 2, 3, 4, 5, 6 };
        System.out.println("Original Array: "+Arrays.toString(nums));

        // Shuffle the array using the Fisher-Yates algorithm.
        shuffle(nums);

        System.out.println("Shuffled Array: "+Arrays.toString(nums));
    }
}

Sample Output:

Original Array: [1, 2, 3, 4, 5, 6]
Shuffle Array: [4, 2, 6, 5, 1, 3] 

Flowchart:

Flowchart: Shuffle a given array of integers

For more Practice: Solve these Related Problems:

  • Write a Java program to shuffle an array while ensuring no element remains in its original position.
  • Write a Java program to randomly select a subset of k elements from an array of size n.
  • Write a Java program to check if a given shuffled array is a valid permutation of another array.
  • Write a Java program to shuffle an array using the Fisher-Yates algorithm.

Go to:


PREV : Find maximum product of two integers in an array.
NEXT : Rearrange array with every second element greater.

Java Code Editor:

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.