import java.util.TreeMap;
class IntToRoman {
public final static String toRoman(int number,
TreeMap romanIdentifiers) {
int l = romanIdentifiers.floorKey(number);
if (number == l) {
return romanIdentifiers.get(number);
}
return romanIdentifiers.get(l) + toRoman(number - l, romanIdentifiers);
}
public static void main(String[] args) {
final TreeMap
romanIdentifiers = new TreeMap();
romanIdentifiers.put(1000, "M");
romanIdentifiers.put(900, "CM");
romanIdentifiers.put(500, "D");
romanIdentifiers.put(400, "CD");
romanIdentifiers.put(100, "C");
romanIdentifiers.put(90, "XC");
romanIdentifiers.put(50, "L");
romanIdentifiers.put(40, "XL");
romanIdentifiers.put(10, "X");
romanIdentifiers.put(9, "IX");
romanIdentifiers.put(5, "V");
romanIdentifiers.put(4, "IV");
romanIdentifiers.put(1, "I");
int num = 1234;
System.out.println("Int Representation of Number: " + num);
System.out.println("Roman Representation of Number: "
+ toRoman(num, romanIdentifiers));
}
}
Output:
Int Representation of Number: 1234 Roman Representation of Number: MCCXXXIV