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 :)