how to convert integers to roman numerals in java

‮w‬ww.lautturi.com
how to convert integers to roman numerals in java
/**
 * @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
Created Time:2017-09-25 12:45:44  Author:lautturi