Arabic number to roman litteral

Cette semaine, c'est Romane qui vous propose un #KataOfTheWeek : Arabic number to roman litteral

Briefing du Kata : Tu dois coder une fonction qui permet de traduire un chiffre en chiffre romain. Petite aide : l'image du kata te donne les principales conversions :)

Saurez-vous résoudre le problème ?

Bon courage !


Et voici une solution proposée par l'auteur en Java :

public class Main {

    public static void main(String[] args) {
        System.out.println(ToRomanLitteral.toRomanLitteral(50));
    }
}

public class ToRomanLitteral {
    public static String toRomanLitteral(int arabic) {
        String roman = "";

        for (ArabicToRoman arabicToRoman : ArabicToRoman.values()) {
            while (arabic >= arabicToRoman.arabic) {
                roman += arabicToRoman.roman;
                arabic -= arabicToRoman.arabic;
            }
        }
        return roman;
    }

    enum ArabicToRoman {
        THOUSAND(1000, "M"),
        NINE_HUNDRED(900, "CM"),
        FIVE_HUNDRED(500, "D"),
        FOUR_HUNDRED(400, "CD"),
        HUNDRED(100, "C"),
        NINETY(90, "XC"),
        FIFTY(50, "L"),
        FORTY(40, "XL"),
        TEN(10, "X"),
        NINE(9, "IX"),
        FIVE(5, "V"),
        FOUR(4, "IV"),
        ONE(1, "I");

        private final int arabic;
        private final String roman;

        ArabicToRoman(int arabic, String roman) {
            this.arabic = arabic;
            this.roman = roman;
        }
    }
}

Votre équipe TakiVeille