Invertir numero entero en JAVA

Esta función sirve para invertir un número entero en JAVA, se invertirá la posición que ocupan los números y no el valor.
public static int invNum(int n) {
    int nDigitos = Integer.toString(n).length();

    int nInv = 0;

    if (nDigitos == 1) {
        return n;
    } else {
        for (int i = 0; i < nDigitos; i++) {
            if (i == 0) {
                nInv += (n % 10) * Math.round(Math.pow(10, (nDigitos - 1)));
            } else if (i == nDigitos - 1) {
                nInv += n / Math.round(Math.pow(10, (nDigitos - 1)));
            } else {
                nInv += (n / Math.round(Math.pow(10, i))) % 10 
                         * Math.round(Math.pow(10, (nDigitos - 1 - i)));
            }
        }
    }

    if (nInv < 0) {
        return nInv / 10;
    } else {
        return nInv;
    }
}

Comentarios

  1. //Yo lo hago de este modo
    int x =10 ;
    String y=x+"";
    StringBuilder sb=new StringBuilder (y);
    String numerogirado=sb.reverse().toString();
    //Y si quieres lo pasas a int con un parse
    int z=Integer.parseInt(numerogirado);
    System.out.println(z);

    ResponderEliminar
  2. int num=0;
    x=scanner.nextInt();
    while(x> 0) {
    num = num*10 + x%10;
    x/= 10;
    }
    System.out.println(num);
    //espero que el aporte sea de gran ayuda, ;)

    ResponderEliminar

Publicar un comentario

Si tenéis alguna duda o sugerencia, no dudéis en comentar. ;)

Entradas populares de este blog

Autocompletado de codigo en Sublime Text

Compilar y ejecutar JAVA desde Notepad++

Ordenar cualquier array con SORT en JAVA