Java es un lenguaje de programación potente con una gran cantidad de clases útiles y métodos que simplifican las tareas tediosas y estructuras de datos complejas. Los ejercicios de revertir dígitos de un número entero que ilustran algunas de las operaciones básicas de Java y funciones útiles. Una posible aplicación de este procedimiento es la comprobación de palíndromos . Modulo
El operador módulo deja a muchos nuevos programadores rascándose la cabeza , porque muchas personas no han pensado en el concepto de un "resto" desde la escuela primaria , y lenguajes de programación de darle el nombre gracioso de " módulo . " La operación de módulo , la cual devuelve el resto de la división de dos números enteros , hace fácil el trabajo de cortar uno o más dígitos fuera de la final de un número entero simplemente mediante el uso de potencias de diez para el divisor . Por ejemplo :
187 % 10 % 100 devuelve 7364 regresa 64
Para invertir los dígitos en un número entero , simplemente bucle a través de cada dígito , utilizando módulo para que aparezca cada dígito de la final del número , la división y la multiplicación para cambiar los dígitos. Por ejemplo :
int origNum = 123456789 ; newnum int = 0 ; while ( origNum > 0 ) { newnum * = 10 ; newnum + = origNum 10 % ; origNum /= 10 ;}
< p > Cuando el bucle termina , newnum mantendrá el valor de 987.654.321 .
cadena
las clases String y StringBuffer ofrecen funciones útiles para la conversión de tipos y la manipulación de cadenas. Utilizando el método inverso de StringBuffer hace que la inversión de los dígitos en un trabajo rápido y sencillo entero. Por ejemplo : .
Int origNum = 123456789 ; newnum int = 0 ; str String = String.valueOf ( origNum ) ; StringBuffer buf = new StringBuffer (str ) ; str = buf.reverse () toString (); newnum = Integer.parseInt (str ) ;
matriz
matrices son estructuras de datos bastante simples que le dan la capacidad de crear una lista de valores y navegar a través de ellos . Utilice el método de la clase de matemáticas log10 para contar los números , crear una matriz de enteros de celebrar un dígito a cada índice , y el uso de módulo y otros operadores básicos para deconstruir y reconstruir el número
int origNum = 123456789 ; . Int newnum = 0 ; int count = ( origNum == 0 ) ? 1 : (int ) Math.log10 ( origNum ) + 1 ; int [ ] digitos = new int [cuenta] ; int i; for (i = 0 ; i < conde, i + + ) { dígitos [ i ] = origNum 10 % ; origNum /= 10 ;} for (i = 0 ; i < conde, i + + ) { newnum * = 10 ; newnum + = dígitos [ i ] ;}
Gráficos vectoriales libres < br >
la clase Vector es una estructura de datos compleja que contiene una lista de artículos , crece y disminuye dinámicamente , y proporciona métodos para acceder a la lista de una manera similar a las matrices . A diferencia de las matrices , vectores pueden contener una gran variedad de objetos de tipo , pero para este ejemplo es simplemente mantener cada dígito del número entero . Desde Vectores crecen dinámicamente y enumeraciones iterar automáticamente a través de la lista con el nextElement () y hasMoreElements ( ) los métodos , no hay necesidad de contar con los dígitos
int origNum = 123456789 ; . Newnum int = 0 ; dígitos vectorial = new Vector ();
while ( origNum > 0 ) { digits.add ( origNum 10 % ) ; origNum /= 10 ;}
para ( Enumeración d = digits.elements ( ) ; d.hasMoreElements ( ) ) { newnum * = 10 , . newnum + = Integer.parseInt ( d.nextElement () toString ()) ;}
Resumen
Hay muchas otras clases de Java similares a Vector que podría ser explorada con el ejercicio reversión número, como List, Iterator , cola , ArrayList y LinkedList . El procedimiento de reversión número puede ser fácilmente escrito como una función por lo que puede ser llamado varias veces en los programas interactivos y reutilizarse en múltiples programas . Implementación de clases para demostrar los diferentes métodos es una excelente manera de practicar técnicas de programación orientada a objetos de Java, como las interfaces y la herencia.