Sábado 9 de Noviembre de 2024, 03:36
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Java
(Moderador:
arielb
) »
Numeros Romanos A Binarios!!
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Numeros Romanos A Binarios!! (Leído 1630 veces)
stormshadow
Nuevo Miembro
Mensajes: 20
Numeros Romanos A Binarios!!
«
en:
Martes 19 de Junio de 2007, 06:45 »
0
Hola gente que tal, bueno pues abro el post, para ver si me pueden auxiliar, pasa que tengo que hacer un programa, donde el usuario al dar un numero en romano, lo imprima en numero binario, eh encontrado algunas cosillas, por ejemplo un switch, la verdad necesito ayuda porque no entiendo mucho, pero mas que nada, les queria preguntar como convierto de cadena entero, que creo yo que es lo que tengo que hacer, y pues si me pueden dar alguna idea porfavor, muchas gracias de antemano
Tweet
stormshadow
Nuevo Miembro
Mensajes: 20
Re: Numeros Romanos A Binarios!!
«
Respuesta #1 en:
Jueves 21 de Junio de 2007, 17:49 »
0
Bueno que tal gente, pss esto es lo que llevo de mi programa, pero todavia tengo algunas fallas
, por ejemplo, si ingreso VIII si m imprime valor: 8, pero al ingresar XVIII se supone que m tiene que dar 18 y alli truena el programa, m podrian ayudar porfavor? se los agradeceria mucho.
Código: Text
import java.io.*;
public class NumerosRomanos
{
public static void main (String[] args)
{
String sRomano;
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.print("Ingresa numero romano:");
sRomano = stdin.readLine();
int iValor = 0;
int iIndex = 0;
while( iIndex < sRomano.length() )
{
if( sRomano.substring(iIndex, iIndex + 1).equals("I") )
{
if( sRomano.length() >= iIndex + 2)
{
if( sRomano.substring(iIndex + 1, iIndex + 2).equals("V") )
{
iValor += 4;
iIndex += 2;
}
else if( sRomano.substring(iIndex + 1, iIndex + 2).equals("X"))
{
iValor += 9;
iIndex += 2;
}
else if( sRomano.substring(iIndex + 1, iIndex + 2).equals("I"))
{
if( sRomano.length() >= iIndex + 3)
{
if( sRomano.substring(iIndex + 2, iIndex + 3).equals("I"))
{
iValor += 3;
iIndex += 3;
}
}
else
{
iValor += 2;
iIndex += 2;
}
}
}
else
{
iValor += 1;
iIndex += 1;
}
}
else if( sRomano.substring(iIndex, iIndex + 1).equals("V") )
{
iValor +=5;
iIndex +=1;
}
else if( sRomano.substring(iIndex, iIndex + 1).equals("X") )
{
if( sRomano.length() >= iIndex + 2)
{
if( sRomano.substring(iIndex + 1, iIndex + 2).equals("L") )
{
iValor += 40;
iIndex += 2;
}
else if( sRomano.substring(iIndex + 1, iIndex + 2).equals("C"))
{
iValor += 90;
iIndex += 2;
}
else if( sRomano.substring(iIndex + 1, iIndex + 2).equals("X"))
{
if( sRomano.length() >= iIndex + 3)
{
if( sRomano.substring(iIndex + 2, iIndex + 3).equals("X"))
{
iValor += 30;
iIndex += 3;
}
}
else
{
iValor += 20;
iIndex += 2;
}
}
}
else
{
iValor += 10;
iIndex += 1;
}
}
}
System.out.println(" Valor : " + iValor);
stdin.close();
}
catch (Exception e)
{
System.out.println("Error");
}
}
}
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Java
(Moderador:
arielb
) »
Numeros Romanos A Binarios!!