Roman to Integer

来源:互联网 发布:tensorflow 入门 编辑:程序博客网 时间:2024/06/08 12:07
public class Solution {    public int romanToInt(String s) {        int answer = 0;        int i = 0;        int len = s.length();        while(i < len)        {            int x=0;            //要注意的是这题总是优先判断两个字母组合的情况,x就是起这个作用的            if(i < len -1)            {                if(s.charAt(i) == 'C' && s.charAt(i+1) == 'M')                {                    answer = answer + 900;                    i = i + 2;                    x++;                }                else if(s.charAt(i) == 'C' && s.charAt(i+1) == 'D')                 {                    answer = answer + 400;                    i = i + 2;                    x++;                }                else if(s.charAt(i) == 'X' && s.charAt(i+1) == 'C')                 {                    answer = answer + 90;                    i = i + 2;                    x++;                }                else if(s.charAt(i) == 'X' && s.charAt(i+1) == 'L')                 {                    answer = answer + 40;                    i = i + 2;                    x++;                }                else if(s.charAt(i) == 'I' && s.charAt(i+1) == 'X')                 {                    answer = answer + 9;                    i = i + 2;                    x++;                }                else if(s.charAt(i) == 'I' && s.charAt(i+1) == 'V')                 {                    answer = answer + 4;                    i = i + 2;                    x++;                }            }             if (i<len && x == 0)            {                if(s.charAt(i) == 'M')                 {                    answer = answer + 1000;                    i++;                }                                            else if(s.charAt(i) == 'D')                 {                    answer = answer + 500;                    i++;                }                                        else if(s.charAt(i) == 'C')                 {                    answer = answer + 100;                    i++;                }                else if(s.charAt(i) == 'L')                 {                    answer = answer + 50;                    i++;                }                                else if(s.charAt(i) == 'X')                 {                    answer = answer + 10;                    i++;                }                                else if(s.charAt(i) == 'V')                 {                    answer = answer + 5;                    i++;                }                                else if(s.charAt(i) == 'I')                 {                    answer = answer + 1;                    i++;                }            }        }        return answer;    }}

0 0