¿Listo para transformar números normales en impresionantes números romanos usando Java? En este tutorial, aprenderás a crear un convertidor sencillo, útil y perfecto para practicar lógica de programación.
Ideal para principiantes… y para presumir en reuniones familiares (ok, quizás solo en la escuela).
Paso 1: Configuración del Proyecto
Abre tu IDE favorito y crea un nuevo proyecto llamado “ConvertidorRomanos”.
Paso 2: Creación de la Clase Principal
Crea una clase llamada ConvertidorRomanos
en el paquete principal. Aquí irá el método main
, donde la magia sucede.
Paso 3: Captura de la Entrada del Usuario
Usaremos la clase Scanner
para pedirle al usuario un número entero. Así de simple:
import java.util.Scanner;
public class ConvertidorRomanos {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingresa un número entero (1-3999): ");
int numero = scanner.nextInt();
// Aquí irá la conversión
scanner.close();
}
}
Paso 4: Lógica de Conversión a Números Romanos
Agrega un método para convertir el número a romano. Este método usa arrays paralelos para hacer el cambio:
public static String convertirARomano(int numero) {
int[] valores = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
String[] romanos = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
StringBuilder resultado = new StringBuilder();
for (int i = 0; i < valores.length; i++) {
while (numero >= valores[i]) {
numero -= valores[i];
resultado.append(romanos[i]);
}
}
return resultado.toString();
}
¿Te interesa aprender Java? Aquí puedes ver todos los cursos gratuitos de Java para tí.
Paso 5: Presentación del Resultado en Consola
Une todo en el método main
para mostrar el resultado:
import java.util.Scanner;
public class ConvertidorRomanos {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingresa un número entero (1-3999): ");
int numero = scanner.nextInt();
if (numero >= 1 && numero <= 3999) {
String romano = convertirARomano(numero);
System.out.println("El número romano es: " + romano);
} else {
System.out.println("Por favor, ingresa un número entre 1 y 3999.");
}
scanner.close();
}
public static String convertirARomano(int numero) {
int[] valores = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
String[] romanos = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
StringBuilder resultado = new StringBuilder();
for (int i = 0; i < valores.length; i++) {
while (numero >= valores[i]) {
numero -= valores[i];
resultado.append(romanos[i]);
}
}
return resultado.toString();
}
}
Ejemplo de Resultado en la Consola
En este ejemplo:
- El usuario ingresa el número 2024.
- El convertidor muestra el equivalente romano: MMXXIV.
Ingresa un número entero (1-3999): 2024
El número romano es: MMXXIV
Conclusión
A lo largo de este tutorial, aprendiste cómo crear un convertidor de números romanos en Java desde cero.
Iniciaste con la configuración del proyecto y la estructura básica de la clase principal.
Después, implementaste la captura de datos por consola utilizando la clase Scanner, y desarrollaste la lógica para convertir números decimales en romanos de forma eficiente y comprensible.
Por último, probaste el programa en consola y comprobaste cómo tu código convierte cualquier número del 1 al 3999 en su equivalente romano.
Con este ejercicio, fortaleciste tus conocimientos de Java, estructuras de control y manipulación de cadenas. Ahora tienes una base sólida para seguir creando proyectos útiles y creativos.