/** * @author lautturi.com * Java example:converting integer to roman numeral in java */ import java.util.*; public class Lautturi { private final static TreeMap<Integer, String> map = new TreeMap<Integer, String>(); static { map.put(1000, "M"); map.put(900, "CM"); map.put(500, "D"); map.put(400, "CD"); map.put(100, "C"); map.put(90, "XC"); map.put(50, "L"); map.put(40, "XL"); map.put(10, "X"); map.put(9, "IX"); map.put(5, "V"); map.put(4, "IV"); map.put(1, "I"); } public final static String toRoman(int number) { int l = map.floorKey(number); if ( number == l ) { return map.get(number); } return map.get(l) + toRoman(number-l); } public static void main(String[] args) { int num = 123; String strRomanNumeral = toRoman(num); System.out.println(num); System.out.println(strRomanNumeral); } }
output:
123 CXXIII