在我的字符串中,我希望将一个值与下一个值进行比较。因此,给定IVI,我想检查V是否跟随I,然后添加4。否则,只需添加1。
for(int i = 0; i < s.Length; i++){
if(s[i] == 'I'){
if(s[i+1] == 'V'){
Console.WriteLine("1");
sum += 4;
}
else if(s[i] == 'X'){
Console.WriteLine("2");
sum += 9;
}
else{
Console.WriteLine("3");
sum += roman[s[i]];
}
}
但是它与s [i + 1]越界,但是如何阻止它检查那么远?如果我使用s.Length-1,那么我将无法获得最后一个值。
答案 0 :(得分:2)
您只需要再添加一个条件:
if(i <= s.length - 1 && s[i+1] == 'V'){