How to sort array odd numbers in descending order and even numbers in ascending order in Java

1 Answer

0 votes
import java.util.Arrays; 
 
public class MyClass {
    static void make_odds_negative(int arr[]) {
        int len =  arr.length;
        
        for (int i = 0; i < len; i++) 
             if (arr[i] % 2 != 0)
                arr[i] *= -1; 
    }

    static void odd_even_sort(int arr[]) {
        make_odds_negative(arr);
       
        System.out.println(Arrays.toString(arr)); 
         
        Arrays.sort(arr); 
         
        System.out.println(Arrays.toString(arr)); 
         
        make_odds_negative(arr);
    } 
     
    public static void main(String args[]) {
        int arr[] = {3, 4, 6, 1, 2, 5}; 
 
        odd_even_sort(arr); 
      
        System.out.println(Arrays.toString(arr)); 
    }
}
 
 
 
/*
run:
 
[-3, 4, 6, -1, 2, -5]
[-5, -3, -1, 2, 4, 6]
[5, 3, 1, 2, 4, 6]
 
*/

 



answered May 4, 2019 by avibootz
edited May 4, 2019 by avibootz
...