Ejemplos de inversión de número en un programa Java

Escrito por deborah lee soltesz Google | Traducido por beatriz sánchez
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Ejemplos de inversión de número en un programa Java
Un número palíndromo es un número que tiene el mismo valor cuando los dígitos se invierten. (Image by Flickr.com, courtesy of paddy patterson)

Java es un potente lenguaje de programación con una gran cantidad de clases útiles y de métodos que simplifican las tareas tediosas y las estructuras de datos complejas. El ejercicio de invertir los dígitos en un entero ilustra algunas de las operaciones básicas en Java y funciones útiles. Una posible aplicación de este procedimiento es comprobar si un número es palíndromo.

Otras personas están leyendo

Módulo

El operador módulo hace que muchos programadores novatos se arañen la cara porque muchas personas no han pensado en el concepto de "resto" desde la escuela elemental, y los lenguajes de programación usan el divertido nombre "módulo". La operación "módulo", que devuelve el resto de una división entre dos enteros, hace que sea fácil quitar uno o más dígitos del final de un entero simplemente usando potencias de 10 para el divisor. Por ejemplo:

187 % 10 returns 7 364 % 100 returns 64

Para invertir los dígitos en un entero, simplemente itera sobre cada dígito, usando el módulo para quitar cada dígito de la parte final del número, división y multiplicación para cambiar los dígitos. Por ejemplo:

int origNum = 123456789 int newNum = 0 while (origNum > 0) { newNum *= 10 newNum += origNum % 10 origNum /= 10 }

Cuando el bucle termine, newNum tendrá el valor 987654321.

Cadenas

Las clases String y StringBuffer proporcionan funciones útiles para convertir tipos y manipular cadenas. Usar el método de inversión de StringBuffer hace que invertir dígitos en un entero sea una tarea rápida y sencilla. Por ejemplo:

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

Matriz

Los vectores son estructuras sencillas de datos que te permiten crear una lista de valores y navegar por estos. Usa el método log10 de la clase matemática para contar los dígitos, crear una matriz de enteros para guardar un dígito en cada índice, y usa el módulo u otro operador básico para deshacer y reconstruir el número.

int origNum = 123456789 int newNum = 0 int count = (origNum == 0) ? 1 : (int)Math.log10(origNum) + 1 int[] digits = new int[count] int i for (i = 0 ; i < count ; i++) { digits[i] = origNum % 10 origNum /= 10 } for (i = 0 ; i < count ; i++) { newNum *= 10 newNum += digits[i] }

Vector

La clase vector es un estructura de datos compleja que tiene una lista de elementos, aumenta y reduce su tamaño dinámicamente, y proporciona métodos para acceder a la lista de forma parecida a las matrices. Al contrario que con las matrices, los vectores pueden mantener una variedad de objetos de distintos tipos, pero para este ejemplo simplemente guardaremos cada dígito del entero. Puesto que los vectores crecen dinámicamente, y las enumeraciones iteran automáticamente en la lista usando los métodos nextElement() y hasMoreElements(), no es necesario contar los dígitos.

int origNum = 123456789 int newNum = 0 Vector digits = new Vector ()

while (origNum > 0) { digits.add(origNum % 10) origNum /= 10 } for (Enumeration d = digits.elements() ; d.hasMoreElements() ; ) { newNum *= 10 newNum += Integer.parseInt(d.nextElement().toString()) }

Resumen

Hay muchas otras clases Java parecidas al vector que pueden ser explotadas usando el ejercicio de invertir un número como List, Iterator, Queue, ArrayList y LinkedList. El procedimiento de inversión de un número puede ser escrito fácilmente como una función para que pueda ser llamada repetidamente en programas interactivos y reutilizada en varios programas. Implementar las clases para demostrar los distintos métodos es una forma excelente de practicar las técnicas de programación orientada a objetos, como las interfaces y la herencia.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles