Java - Problema con código

 
Vista:

Problema con código

Publicado por Carlos (1 intervención) el 04/02/2008 19:06:36
Vereis, estoy haciendo un programa que pasa de números arábigos a romanos y viceversa, com la primera parte no hay problema, pero en la segunda, despues de crear el objeto, al introducir un número romano, me da el siguiente error: Error: incompatible types - found java.lang.String but expected java.lang.String[], entonces supongo q esto quiere decir que ha encontrado un string donde debería haber un array, lo que no consigo encontrar donde está el fallo, me sería de gran ayuda si alguien pudiese mirarselo y si ve el fallo me lo dijese, muchas gracias por adelantado.

Aquí os dejo el código de la segunda parte del programa:

public int convertirRA(final String[] romano)
{
String[] letra = romano;
String[] romans = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
int Arabicvalue = 0;
int locationcounter;

for (locationcounter=0; locationcounter <19; locationcounter++)//this loop looks at each location in the array
{

if (letra[locationcounter] == romans[13])
{
Arabicvalue += 1;
}

else if (letra[locationcounter ]== romans[11])
{
if (letra[locationcounter-1] == romans[13])
{
Arabicvalue += 3;
}
else
{
Arabicvalue += 5;
}
}

else if (letra[locationcounter] == romans[9])
{
if (letra[locationcounter-1] == romans[13])
{
Arabicvalue += 8;
}

else if (letra[locationcounter] == romans[11])
{
Arabicvalue += 0;
}

else
{
Arabicvalue += 10;
}
}


else if (letra[locationcounter] == romans[7])
{
if (letra[locationcounter-1] == romans[13])
{
Arabicvalue += 48;
}

else if (letra[locationcounter] == romans[11])
{
Arabicvalue += 40;
}

else if (letra[locationcounter] == romans[9])
{
Arabicvalue += 30;
}

else
{
Arabicvalue += 50;
}
}


else if (letra[locationcounter] == romans[5])
{
if (letra[locationcounter-1] == romans[13])
{
Arabicvalue += 98;
}

else if (letra[locationcounter] == romans[11])
{
Arabicvalue += 90;
}

else if (letra[locationcounter] == romans[9])
{
Arabicvalue += 80;
}

else if (letra[locationcounter] == romans[7])
{
Arabicvalue += 0;
}

else
{
Arabicvalue += 100;
}
}



else if (letra[locationcounter] == romans[3])
{
if (letra[locationcounter-1] == romans[13])
{
Arabicvalue += 498;
}

else if (letra[locationcounter] == romans[11])
{
Arabicvalue += 490;
}

else if (letra[locationcounter] == romans[9])
{
Arabicvalue += 480;
}

else if (letra[locationcounter] == romans[7])
{
Arabicvalue += 400;
}

else if (letra[locationcounter] == romans[5])
{
Arabicvalue += 300;
}

else
{
Arabicvalue += 500;
}
}

else if (letra[locationcounter] == romans[1])
{
if (letra[locationcounter-1] == romans[13])
{
Arabicvalue += 998;
}

else if (letra[locationcounter] == romans[11])
{
Arabicvalue += 990;
}

else if (letra[locationcounter] == romans[9])
{
Arabicvalue += 980;
}

else if (letra[locationcounter] == romans[7])
{
Arabicvalue += 900;
}

else if (letra[locationcounter]== romans[5])
{
Arabicvalue +=800;
}

else if (letra[locationcounter] == romans[3])
{
Arabicvalue += 0;
}

else
{
Arabicvalue += 1000;
}
}
}
return Arabicvalue;


}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder