1. switch -case 值匹配
2.sum+= a 等价于 sum= sum+a
3.字符串中前一个值与后一个值比较: 1. 取出第一个值 2. for循环依次取值 从第二个值开始 3.判断 逻辑赋值 4.将后一位值赋值给前一位 5.统计和加上最后一位数值
public int romanToInt(String s) {
//统计数值转换的值
int sum = 0;
//取第一个罗马数字判断 加减运算
int preNumber = getValue(s.charAt(0));
//取后一位数字与前一位数字比较
for (int i = 1; i <s.length();i++){
int num = getValue(s.charAt(i));
if (preNumber<num){
sum-=preNumber;
}else{
sum+=preNumber;
}
//赋值比较后一位
preNumber=num;
}
//加上最后一位数字
sum+=preNumber;
return sum;
}
private int getValue(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;
}
}