Map mapping = new HashMap();
Conversion() {
mapping.put("I", 1);
mapping.put("V", 5);
mapping.put("X", 10);
mapping.put("L", 50);
mapping.put("C", 100);
mapping.put("D", 500);
mapping.put("M", 1000);
}
/**
* @param romanNumber
* @return
*/
public int romanToDecimal(String romanNumber) {
int result = 0;
if (romanNumber.length() == 0) {
return result;
}
if (romanNumber.length() == 1) {
return (Integer) mapping.get(romanNumber);
}
else {
int leftEnd = (Integer) mapping.get(romanNumber.charAt(0) + "");
if (leftEnd >= (Integer) mapping.get(romanNumber.charAt(1) + "")) {
result += leftEnd;
} else {
result += - leftEnd;
}
result += romanToDecimal(romanNumber.substring(1));
}
return result;
}
Conversion() {
mapping.put("I", 1);
mapping.put("V", 5);
mapping.put("X", 10);
mapping.put("L", 50);
mapping.put("C", 100);
mapping.put("D", 500);
mapping.put("M", 1000);
}
/**
* @param romanNumber
* @return
*/
public int romanToDecimal(String romanNumber) {
int result = 0;
if (romanNumber.length() == 0) {
return result;
}
if (romanNumber.length() == 1) {
return (Integer) mapping.get(romanNumber);
}
else {
int leftEnd = (Integer) mapping.get(romanNumber.charAt(0) + "");
if (leftEnd >= (Integer) mapping.get(romanNumber.charAt(1) + "")) {
result += leftEnd;
} else {
result += - leftEnd;
}
result += romanToDecimal(romanNumber.substring(1));
}
return result;
}