Tutorial de Java: Crea un Convertidor de Números Romanos en 5 Pasos

Descubre cómo programar un convertidor de números romanos en Java en menos de 20 minutos. ¡¿Que esperas?! ¡Apresurate!

Anuncios

¿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:

  1. El usuario ingresa el número 2024.
  2. 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.

Anuncios
Henry Hernandez

Henry Hernandez

Me encanta compartir cursos gratuitos y recursos útiles para que sigas aprendiendo sin gastar.

Artículos: 892