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