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; } }
//Yo lo hago de este modo
ResponderEliminarint 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);
int num=0;
ResponderEliminarx=scanner.nextInt();
while(x> 0) {
num = num*10 + x%10;
x/= 10;
}
System.out.println(num);
//espero que el aporte sea de gran ayuda, ;)