When I run the below code it's returning same array as output. Can anyone tell me where I am wrong?
public class MoveZeroToend {
    public static void main(String[] args) {
        int[] arr = { 1, 3, 0, 2, 0, 2, 0 };
        Move0Toend(arr);
    }
    static void Move0Toend(int[] arr) { // Code to move zeroes to end
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] != 0) {
                swap(arr[i], arr[count]);
                count++;
            }
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " "); // Print the array
        } 
    }
    static void swap(int a, int b) { // To swap
        a = a + b;
        b = a - b;
        a = a - b;
    }
}
 
     
     
     
    