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:

Anuncios
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
Enrique Hernandez

Enrique Hernandez

Soy Ingeniero en Sistemas Computacionales y Desarrollador con más de cuatro años de experiencia en el sector web. Fundé CursotecaPlus y cofundé Facialix. Sé sobre PHP, HTML, CSS, JavaScript y un poco de Python, siempre con visión de futuro y humor veloz cuando toca.

Mi misión impulsa la democratización del aprendizaje. Desde 2022, dedico mi experiencia a compartir cursos gratuitos y cupones del 100% de descuento en Udemy, seleccionados con criterio técnico y enfoque comunitario. Busco que cualquier persona acceda a formación útil, actual y sin barreras.

Artículos: 1721
Anuncios