Transformar un año en digitos a numeros romanos



 - Escribir un programa que acepte un año escrito en cifras arábigas y visualice en escrito en números romanos, dentro del rango de 1500 a 2500.

V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000

  1.   import cs1.Keyboard;
  2.  
  3.    public class ejerc12
  4.    {
  5.       public static void main (String[] args)
  6.       {
  7.       //Variables
  8.          String any;
  9.          char a1, a2, a3, a4;
  10.          int anys, longany = 0;
  11.    
  12.       //Introduci— de datos
  13.          System.out.print ("Introduce un a–o cualquiera: " );
  14.          any = Keyboard.readString();
  15.    
  16.        System.out.println ("");
  17.        
  18.       //Convertir el a–o a integer
  19.          longany = any.length();
  20.          a1 = any.charAt(0);
  21.          a2 = any.charAt(1);
  22.          a3 = any.charAt(2);
  23.          a4 = any.charAt(3);
  24.          anys = Integer.valueOf(any.substring(0,4)).intValue();
  25.        
  26.          //Condiciones
  27.          if (anys <= 2500 & anys >= 1500) {
  28.             switch (a1) {
  29.                case '1' : System.out.print( "M" );
  30.                   break;
  31.                case '2' : System.out.print( "MM" );
  32.                   break;
  33.                default : System.out.println( "Error a–o fuera de rango" );
  34.                   break;
  35.             }
  36.          
  37.             switch (a2) {
  38.                case '0' : System.out.print( "" );
  39.                   break;
  40.                case '1' : System.out.print( "C" );
  41.                   break;
  42.                case '2' : System.out.print( "CC" );
  43.                   break;
  44.                case '3' : System.out.print( "CCC" );
  45.                   break;
  46.                case '4' : System.out.print( "CD" );
  47.                   break;
  48.                case '5' : System.out.print( "D" );
  49.                   break;
  50.                case '6' : System.out.print( "DC" );
  51.                   break;
  52.                case '7' : System.out.print( "DCC" );
  53.                   break;
  54.                case '8' : System.out.print( "DCCC" );
  55.                   break;
  56.                case '9' : System.out.print( "CM" );
  57.                   break;
  58.                default : System.out.println( "Error, el nœmero centenar no existe" );
  59.                   break;
  60.             }
  61.          
  62.             switch (a3) {
  63.                case '0' : System.out.print( "" );
  64.                   break;
  65.                case '1' : System.out.print( "X" );
  66.                   break;
  67.                case '2' : System.out.print( "XX" );
  68.                   break;
  69.                case '3' : System.out.print( "XXX" );
  70.                   break;
  71.                case '4' : System.out.print( "XL" );
  72.                   break;
  73.                case '5' : System.out.print( "L" );
  74.                   break;
  75.                case '6' : System.out.print( "LX" );
  76.                   break;
  77.                case '7' : System.out.print( "LXX" );
  78.                   break;
  79.                case '8' : System.out.print( "LXXX" );
  80.                   break;
  81.                case '9' : System.out.print( "XC" );
  82.                   break;
  83.                default : System.out.println( "Error, el nœmero de decenas no existe" );
  84.                   break;
  85.             }
  86.          
  87.             switch (a4) {
  88.                case '0' : System.out.print( "" );
  89.                   break;
  90.                case '1' : System.out.print( "I" );
  91.                   break;
  92.                case '2' : System.out.print( "II" );
  93.                   break;
  94.                case '3' : System.out.print( "III" );
  95.                   break;
  96.                case '4' : System.out.print( "IV" );
  97.                   break;
  98.                case '5' : System.out.print( "V" );
  99.                   break;
  100.                case '6' : System.out.print( "VI" );
  101.                   break;
  102.                case '7' : System.out.print( "VII" );
  103.                   break;
  104.                case '8' : System.out.print( "VIII" );
  105.                   break;
  106.                case '9' : System.out.print( "IX" );
  107.                   break;
  108.                default : System.out.println( "Error, el nœmero unitario no existe" );
  109.                   break;
  110.             }
  111.          }
  112.          else {
  113.             System.out.println( "El a–o no est‡ dentro del rango" );
  114.          }
  115.       }
  116.    }

No hay comentarios:

Publicar un comentario