java – Alguien sabe como arreglar este problema en la salida del programa


import java.util.Scanner;

public class NumerosMayoresYMenores {
    
  int mayor = Integer.MIN_VALUE;
  int menor = Integer.MIN_VALUE;
    
    public static void main(String args()) {
        
        NumerosMayoresYMenores n = new NumerosMayoresYMenores();
        
        n.procesarNumeros();
    }
    
    private void procesarNumeros(){
        
        Scanner sc = new Scanner(System.in);
        
        System.out.println("Introduzca la cantidad de números a leer: ");
        
        int numerosALeer = sc.nextInt();
        
        for(int i = 1; i <= numerosALeer; i++){
            System.out.println("Introduzca el número " + i);
            establecerNumeroMayorYMenor(sc.nextInt());
        }   
        
        System.out.println("El mayor es " + mayor);
        System.out.println("El menor es " + menor);
        
    }
    
    private void establecerNumeroMayorYMenor(int n){
        if(n > mayor) mayor = n;
        if(n < menor) menor = n;
    }
    
}

Buenos tardes como puedo arreglar la salida del numero menor nose porque sale asi si alguien me puede ayudar seria genial, ademas me pueden explicar el integer.MIN_VALUE y integer.MAX_VALUE gracias