Tecnología

Inicio

Ejemplos de Números de marcha atrás en un programa Java

Ejemplos de Números de marcha atrás en un programa Java


Java es un lenguaje de programación potente con una gran cantidad de clases y métodos que simplifican las tareas tediosas y complejas estructuras de datos útiles. Los ejercicios de marcha atrás dígitos en un número entero ilustra algunas de las operaciones básicas y las características útiles de Java. Una posible aplicación de este procedimiento es la comprobación de los 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 los lenguajes de programación que da el curioso nombre de "módulo". La operación de módulo, que devuelve el resto de la división de dos números enteros, que hace fácil el trabajo de cortar uno o más dígitos del extremo de un entero simplemente usando potencias de diez para el divisor. Por ejemplo:

187% 10 vuelve 7
364% 64 100 declaraciones

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
IR
int = 0 newNum
IR
mientras que (origNum> 0) {
newNum * = 10
IR
newNum + = origNum% 10
IR
origNum / 10 =
IR
}

Cuando el bucle termina, newNum contendrá el valor 987654321.

Cuerda

Las clases String y StringBuffer proporcionan funciones útiles para la conversión de tipos y la manipulación de cadenas. Utilizando el método inverso de StringBuffer hace revertir los dígitos en un número entero de trabajo rápido y sencillo. Por ejemplo:

int origNum = 123456789
IR
int = 0 newNum
IR
String str = String.valueOf (origNum)
IR
StringBuffer buf = new StringBuffer (str)
IR
str = buf.reverse (). toString ()
IR
newNum = Integer.parseInt (str);

Formación

Las matrices son bastante simples estructuras de datos que le dan la posibilidad de crear una lista de valores y navegar a través de ellos. Utilice el método log10 clase de matemáticas para contar los dígitos, crear una matriz de enteros para mantener 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
IR
int = 0 newNum
IR
int cuenta = (origNum == 0)? 1: (int) Math.log10 (origNum) + 1
IR
int [] = new int dígitos [count]
IR
int i
IR
for (i = 0; i <cuento; i ++) {
los dígitos [i] = 10% origNum
IR
origNum / 10 =
IR
}
for (i = 0; i <cuento; i ++) {
newNum * = 10
IR
newNum + = dígitos [i]
IR
}

Vector

La clase Vector es una estructura de datos compleja que contiene una lista de elementos, crece y se contrae de forma dinámica, y proporciona métodos para acceder a la lista de una manera similar a las matrices. A diferencia de las matrices, vectores puede contener una variedad de diferentes objetos de texto, pero para este ejemplo será sólo tiene que mantener cada dígito del número entero. Desde vectores crecen de forma dinámica, y enumeraciones iterar automáticamente a través de la lista utilizando el nextElement () y hasMoreElements () métodos, no hay necesidad de contar los dígitos.

int origNum = 123456789
IR
int = 0 newNum
IR
vector dígitos = new Vector ()
IR

mientras que (origNum> 0) {
digits.add (origNum% 10)
IR
origNum / 10 =
IR
}

Enumeración de (d = digits.elements (); d.hasMoreElements ();) {
newNum * = 10
IR
newNum + = Integer.parseInt (d.nextElement (). toString ())
IR
}

Resumen

Hay muchas otras clases de Java similares a los vectores que podrían explorarse mediante el ejercicio de reversión número, como Lista, Iterator, cola, ArrayList, LinkedList y. El procedimiento de reversión número puede ser fácilmente escrito como una función de lo que se puede llamar repetidamente en programas interactivos y reutilizarse en múltiples programas. La implementación de clases para demostrar los diferentes métodos es una excelente manera de practicar técnicas de programación orientada a objetos Java, como interfaces y la herencia.