Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/11/2013, 08:31
Avatar de Fuzzylog
Fuzzylog
 
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema con conversor a números romanos (?)

personalmente lo leeria con un readLine

Luego miro el tamaño a ver si tiene entre 1 y 4 caracteres, de lo contrario muestro un mensaje indicando que el texto introducido no cumple las especificaciones.

Luego separaría el texto en un array de strings con los caracteres separados (llamemosle numeros)
numeros[0] indicaria los miles. En tu caso haremos lo siguiente: Llamar a un metodo separado que intenta convertir el String en un int. Si da una excepción en el parseo se mostrará el mismo mensaje anterior. Si todo fue bien se añaden tantas emes como el número indique.

Esto realmente no es así, en los numeros romanos a partir del 4000 se indica con un IV con una barra horizontal superior (que indica que el numero se multiplica por 1000), pero para tu caso lo dejaremos como está, porque la mayoria de conversores tienen este error.

Luego procesamos las centenas (numeros[1]) obteniendo el elemento Centena[i] donde i es el valor de numeros[1]. El valor obtenido se concatena al String de los millares.

Repetimos lo mismo para decenas y para las unidades con numeros[2] y numeros[3] respectivamente.

De la composición de estos elementos saldrá el número romano completo.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}