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