Obtener, dentro de un arreglo de N enteros, la  posición en que estan el menor

y el mayor valor, intercambiando entre sí ese menor con el primer elemento del

arreglo y el mayor con el último elemento del arreglo  

public class MenorYMayor{

    public static void main(String[]args){

        int N = 10;

        int M[] = new int[N];

        int pmenor, pmayor, Aux;

        System.out.println("\n\n\n\n");

        System.out.println("Obtener, dentro de un arreglo de N enteros, la  posición en que estan el menor");

        System.out.println("y el mayor valor, intercambiando entre si ese menor con el primer elemento del");

        System.out.println("arreglo y el mayor con el ultimo elemento del arreglo                         ");

        System.out.println("******************************************************************************");

        System.out.print("Contenido inicial");

        for(int i=0; i<N; i++) {

            M[i] = 10 + (int)(Math.random()*90);

            System.out.print("   " + M[i]);

        }

        System.out.println();

        pmenor = 0;

        pmayor = 0;

        for(int i=0; i<N; i++) {

            if(M[i] < M[pmenor]) pmenor = i;//se obtiene el menor

            if(M[i] > M[pmayor]) pmayor = i;//seobtiene el mayor

        }

        Aux       = M[0];//almacena el primer numero

        M[0]      = M[pmenor];//el primer numero es reemplazado por el numero menor

        M[pmenor] = Aux;//el que era primer numero queda donde estaba el menor numero

        Aux       = M[N-1];//el ultimo numero se almacena en aux

        M[N-1]    = M[pmayor];//el ultimo numero se reemplaza por el numero mayor

        M[pmayor] = Aux;//el que era el ultimo numero se almacena ahora donde estaba en mayor

        System.out.print("Contenido final  ");

        for(int i=0; i<N; i++) System.out.print("   " + M[i]);

        System.out.println();

    }

}