/*
罗马数字转整数
I : 1
V : 5
X : 10
L : 50
C : 100
D : 500
M : 1000
*/
//
public class RomanToInt_13 {
HashMap<Character, Integer> hashMap = new HashMap<>();
{
{
hashMap.put('I', 1);
hashMap.put('V', 5);
hashMap.put('X', 10);
hashMap.put('L', 50);
hashMap.put('C', 100);
hashMap.put('D', 500);
hashMap.put('M', 1000);
}
}
;
public int romanToInt(String s) {
int num = 0;
int n = s.length();
for(int i = 0;i < n;i++){
int value = hashMap.get(s.charAt(i));
if(i < n - 1 && value < hashMap.get(s.charAt(i + 1))){
num -= value;
}else{
num += value;
}
}
return num;
}
public static void main(String[] args) {
RomanToInt_13 romanToInt_13 = new RomanToInt_13();
System.out.println(romanToInt_13.romanToInt("XXVII"));
}
}
13.罗马数字转整数(Java)
最新推荐文章于 2024-07-30 20:50:32 发布