Definir crescente e decrescente[RESOLVIDO]

Desenvolvi este código para identificar se 4 números digitados por um usuário está em ordem decrescente ou em ordem crescente, mas quando eu coloco como entrada 4 3 2 1 ele da como saída “FORA DE ORDEM”, quando devia aparecer “DECRESCENTE”. O que devo fazer para que apareça a saída correta?

public static void main(String[] args) {
// TODO code application logic here
Scanner sc = new Scanner(System.in);

    int num1;
    int num2;
    int num3;
    int num4;
    int media;
    
    System.out.println("Informe 4 numeros: ");
    num1 = sc.nextInt();
    num2 = sc.nextInt();
    num3 = sc.nextInt();
    num4 = sc.nextInt();
    
    media = (num1+num2+num3+num4 )/4;
    
    boolean decrescente = num1>num2 && num2>num3 && num3>num4;
    boolean crescente = num1<num2 && num2<num3 && num3<num4;
    
    if(crescente){
        System.out.println("Esta em ordem CRESCENTE!!! E a média é: "+media);
    }else if(decrescente){
        System.out.println("Esta em ordem DECRESCENTE!!! E a média é: "+media);
    }else{
        System.out.println("Esta FORA DE ORDEM!!! E a média é: "+media);
    }
}

A classe Scanner do java tem um pequeno bug quando se “puxa” números inteiros ou flutuantes, pegando do buffer a próxima entrada, gerando erros comportamentais, tente isso e veja se persiste…

num1 = sc.nextInt();
sc.nextLine();

num2 = sc.nextInt();
sc.nextLine();

num3 = sc.nextInt();
sc.nextLine();

num4 = sc.nextInt();
sc.nextLine();

Ou então pegue cada entrada como String e converta para inteiro assim (obs: o bloco todo deve estar num try/catch)…

num1 = Integer.parseInt(sc.nextLine());
num2 = Integer.parseInt(sc.nextLine());
num3 = Integer.parseInt(sc.nextLine());
num4 = Integer.parseInt(sc.nextLine());
int[] num = new int[4];
    Scanner input = new Scanner(System.in);
    
    public void numeros(){
        for(int i = 0; i < num.length; i++){
            System.out.println("Digite o valor de "+ i);
            num[i] = Integer.parseInt(input.nextLine());
        }
        
        double media =(num[0]+num[1]+num[2]+num[3])/4;
        boolean crescente = num[0]<num[1]&&num[1]<num[2]&&num[2]<num[3];
        boolean decrescente = num[0]>num[1]&&num[1]>num[2]&&num[2]>num[3];
        
        if(crescente){ 
            System.out.println("Esta em ordem CRESCENTE!!! E a média é: "+media); 
        }else if(decrescente){
            System.out.println("Esta em ordem DECRESCENTE!!! E a média é: "+media);
        }else{
            System.out.println("Esta FORA DE ORDEM!!! E a média é: "+media);
        }
    }