public class RomanToInt {
public int romanToInt(String s) {
//1、将有4或9的字母替换
s=s.replace("IV","a");//4
s=s.replace("IX","b");//9
s=s.replace("XL","c");//40
s=s.replace("XC","d");//90
s=s.replace("CD","e");//400
s=s.replace("CM","f");//900
int result = 0;
//2、将字母转换成对应数字,并相加
for (int i = 0; i < s.length(); i++) {
result+=num_value(s.charAt(i));
}
return result;
}
private int num_value(char charAt) {
switch (charAt){
case 'I':return 1;
case 'V':return 5;
case 'X':return 10;
case 'L':return 50;
case 'C':return 100;
case 'D':return 500;
case 'M':return 1000;
case 'a':return 4;
case 'b':return 9;
case 'c':return 40;
case 'd':return 90;
case 'e':return 400;
case 'f':return 900;
}
return 0;
}
@Test
public void test1(){
System.out.println(romanToInt("MCMXCIV"));
}
}
罗马数字转整数
最新推荐文章于 2024-07-27 13:31:57 发布