import java.util.*; public class RomanNumber { static char[] roman = {'I','V','X','L','C','D','M'}; static int[] values = {1,5,10,50,100,500,1000}; static Map map = new HashMap(); static{ map.put('I',1); map.put('V',5); map.put('X',10); map.put('L',50); map.put('C',100); map.put('D',500); map.put('M',1000); } public static void roman2arabic(String str){ str = str.toUpperCase(); int sum = 0; int i =0; for(i = 0; i < (str.length()-1);){ char c1 = str.charAt(i); char c2 = str.charAt(i+1); if(map.get(c1) < map.get(c2)){ sum += (map.get(c2) - map.get(c1)); i+=2; }else { sum += map.get(c1); i++; } } if(i < str.length()){ sum += map.get(str.charAt(str.length() - 1)); } System.out.println(sum); } public static void main(String[] args){ printRoman("MXCLVI"); printRoman("LCIIXCL"); printRoman("MXVLCII"); } }