Código de Java - Convertir numeros arábigos a romanos

Imágen de perfil

Convertir numeros arábigos a romanosgráfica de visualizaciones


Java

Publicado el 15 de Febrero del 2020 por Administrador
437 visualizaciones desde el 15 de Febrero del 2020
Escriba un programa en Java que convierta números arábigos a números romanos. El programa permitirá al usuario ingresar números repetitivamente hasta que se digite un cero. Si se ingresa un número negativo, o mayor a 3999, se mostrará un mensaje de error.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Conversion a numeros romanos
 
Numero: 1
I
 
Numero: 1350
MCCCL
 
Numero: 2000
MM
 
Numero: 2020
MMXX
 
Numero: 3000
MMM
 
Numero: -10
Escriba un numero entre 1 y 3999 inclusive
 
Numero: 0

20130207

Publicado el 15 de Febrero del 2020gráfica de visualizaciones de la versión: 20130207
439 visualizaciones desde el 15 de Febrero del 2020
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella


Forma parte de Tarea 02
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import java.util.Scanner;
 
public class Romanos
{
   public static void main(String args[])
   {
      Scanner teclado = new Scanner(System.in);
      System.out.print("Conversion a numeros romanos\n\n");
 
      while ( true )
      {
         System.out.print("Numero: ");
         int numero = teclado.nextInt();
         if ( numero == 0 ) break;
 
         if ( numero > 0 && numero < 4000 )
         {
            String resultado = "";
            for ( int copia = numero, pos = 0; copia > 0; copia /= 10 )
            {
               int digito = copia % 10;
               switch ( pos )
               {
                  case 3:
                     switch ( digito )
                     {
                        case 1: resultado = "M" + resultado; break;
                        case 2: resultado = "MM" + resultado; break;
                        case 3: resultado = "MMM" + resultado; break;
                     }
                     break;
 
                  case 2:
                     switch ( digito )
                     {
                        case 1: resultado = "C" + resultado; break;
                        case 2: resultado = "CC" + resultado; break;
                        case 3: resultado = "CCC" + resultado; break;
                        case 4: resultado = "CD" + resultado; break;
                        case 5: resultado = "D" + resultado; break;
                        case 6: resultado = "DC" + resultado; break;
                        case 7: resultado = "DCC" + resultado; break;
                        case 8: resultado = "DCCC" + resultado; break;
                        case 9: resultado = "CM" + resultado; break;
                     }
                     break;
 
                  case 1:
                     switch ( digito )
                     {
                        case 1: resultado = "X" + resultado; break;
                        case 2: resultado = "XX" + resultado; break;
                        case 3: resultado = "XXX" + resultado; break;
                        case 4: resultado = "XL" + resultado; break;
                        case 5: resultado = "L" + resultado; break;
                        case 6: resultado = "LX" + resultado; break;
                        case 7: resultado = "LXX" + resultado; break;
                        case 8: resultado = "LXXX" + resultado; break;
                        case 9: resultado = "XC" + resultado; break;
                     }
                     break;
 
                  case 0:
                     switch ( digito )
                     {
                        case 1: resultado = "I" + resultado; break;
                        case 2: resultado = "II" + resultado; break;
                        case 3: resultado = "III" + resultado; break;
                        case 4: resultado = "IV" + resultado; break;
                        case 5: resultado = "V" + resultado; break;
                        case 6: resultado = "VI" + resultado; break;
                        case 7: resultado = "VII" + resultado; break;
                        case 8: resultado = "VIII" + resultado; break;
                        case 9: resultado = "IX" + resultado; break;
                     }
                     break;
               }
               ++pos;
            }
            System.out.print(resultado + "\n\n");
         }
         else
            System.err.print("Escriba un numero entre 1 y 3999 inclusive\n\n");
 
      } // while
 
   }
}



Comentarios sobre la versión: 20130207 (0)


No hay comentarios
 

Comentar la versión: 20130207

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5918