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, ;)