Konwersja liczb rzymskich na arabskie

0

Witam
Próbuję napisać metodę do zamiany liczb rzymskich na arabskie. Tak się zastanawiałem czy można porównywać kolejne znaki w stringu z elementami tablicy i kolega powiedział mi żebym zastosował charAt(i). Znalazłem gdzieś przykład zastosowania tego ale nie mam pojęcia czy moje rozumowanie w tym przypadku jest dobre, i napisałem coś takiego

public class RzymArab
{
    private static String liczby[] = {"I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M"};
    private static int liczby2[] = {1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000};

        public static int rzym2arab(String rzym)//Metoda do zamiany liczby rzymskiej na arabska
    {
        int wynik = 0;
        char litera;
        for(int i = 0; i <= 12; i++)
            litera = rzym.charAt(i);

        for(int i = 12; i >= 0; i++)
        {
            while(rzym.charAt(i) >= liczby[i])
            {
                if(rzym.charAt(i) = liczby[i])
                {
                    wynik = wynik + liczby2[i];
                    if(rzym.charAt(i) > rzym.charAt(i + 1))
                        wynik = wynik - liczby2[i + 1];
                    else
                        wynik = wynik + liczby2[i + 1];
                }
            }
        }
        return wynik;
    }
}

Może ktoś mógłby mi pomóc to ogarnąć bo program nie działa a to ze względu na to, że nie mam jeszcze dokładnego pojęcia jak działa charAt. Chyba, że zna ktoś lepszy sposób albo jakiś łatwiejszy algorytm na zamianę tych liczb. Z góry dziękuje za pomoc :)

0

Tu na serwisie jest algorytm z kodem, chyba w pascalu

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0