import java.util.HashMap;
public class Rtoi{
private HashMap<Character,Integer> rn = new HashMap<Character,Integer>();
Character[] input;
Integer result;
//constructor
public Rtoi(){
rn.put('I', 1);
rn.put('V', 5);
rn.put('X', 10);
rn.put('L', 50);
rn.put('C', 100);
rn.put('D', 500);
rn.put('M', 1000);
}
public Integer convert(String num){
//read frm right to left
for(int i=num.length()-1;i<0;i--){
Character current =num.charAt(i);
Character next =num.charAt(i-1);
if(rn.get(current)<=rn.get(next)){
result += rn.get(current);
}
else{
result -= rn.get(current);
}
}
return result;
}
}
The method convert get a string of roman num to convert to integer but it return a default value result
tested using the string = "MMXVIII"