
package 简单;
import java.util.HashMap;
import java.util.Map;
/**
* @author 无法手执玫瑰
* @version 1.0
* @date 2020/07/0004 19:51
*/
public class 第十三题_罗马数字转整数 {
public static int romanToInt(String s) {
Map<String,Integer > aMap = new HashMap<>();
aMap.put("IV",4);
aMap.put("IX",9);
aMap.put("XL",40);
aMap.put("XC",90);
aMap.put("CD",400);
aMap.put("CM",900);
int i =0;
String replace;
for (Map.Entry<String, Integer> entry : aMap.entrySet()) {
if(s.contains(entry.getKey())){
i+=aMap.get(entry.getKey());
s = s.replace(entry.getKey(), "");
}
}
replace = s;
//遍历结束后把符合aMap的值全部替换并且加上
for(int j=0;j<replace.length();j++){
if(replace.charAt(j) == 'I'){
i+=1;
}else if(replace.charAt(j) == 'V'){
i+=5;
}else if(replace.charAt(j) == 'X'){
i+=10;
}else if(replace.charAt(j) == 'L'){
i+=50;
}else if(replace.charAt(j) == 'C'){
i+=100;
}else if(replace.charAt(j) == 'D'){
i+=500;
}else if(replace.charAt(j) == 'M'){
i+=1000;
}
}
return i;
}
public static void main(String[] args) {
System.out.println(romanToInt("MCMXCIV"));
}
}