一.问题描述
罗马数字包含以下七种字符: I (1), V(5), X(10), L(50),C(100),D (500)和 M(1000)。
示例 1:
输入: “IV”
输出: 4
二.示例代码
public class RomanToInt {
public static void main(String[] args) {
String str = "VI";
Integer result = romanToInt(str);
System.out.println(result);
}
private static Integer romanToInt(String str) {
int result = 0;
int pre = convertToInt(str.charAt(0));
for (int i = 1; i < str.length(); i++) {
int num = convertToInt(str.charAt(i));
if (pre < num) {
result -= pre;
} else {
result += pre;
}
pre = num;
}
result += pre;
return result;
}
private static int convertToInt(char ch) {
switch (ch) {
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;
default:
return 0;
}
}
}