罗马数字转数字 javas
时间: 2023-02-07 22:09:21 浏览: 119
罗马数字转数字在 Java 中是很容易实现的。下面是一个例子:
```
public class RomanNumeral {
public static int romanToInt(String s) {
// 创建一个哈希表来保存所有罗马数字的值
HashMap<Character, Integer> map = new HashMap<>();
map.put('I', 1);
map.put('V', 5);
map.put('X', 10);
map.put('L', 50);
map.put('C', 100);
map.put('D', 500);
map.put('M', 1000);
// 使用变量 result 来保存最终的数字
int result = 0;
// 从前往后遍历字符串
for (int i = 0; i < s.length(); i++) {
// 获取当前字符
char c = s.charAt(i);
// 获取当前字符对应的数字
int value = map.get(c);
// 如果当前字符的值比下一个字符的值小,那么要减去当前字符的值
if (i < s.length() - 1 && value < map.get(s.charAt(i + 1))) {
result -= value;
} else {
result += value;
}
}
return result;
}
}
```
使用这个函数,你就可以将罗马数字字符串转换为数字了。例如:
```
int num = RomanNumeral.romanToInt("MCMIV"); // 输出 1904
```
阅读全文