Сравнение i в цикле со следующим значением, а также доступ к последнему значению - PullRequest
0 голосов
/ 28 декабря 2018

В моей строке я хочу сравнить одно значение со следующим.Таким образом, учитывая 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, я не смогу получить последнее значение.

1 Ответ

0 голосов
/ 28 декабря 2018

Вам просто нужно добавить еще одно условие:

            if(i <= s.length - 1 && s[i+1] == 'V'){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...