You are on page 1of 3

//EJERCICIO CONVERTIR DE ROMANOS A ARABIGOS Y VICEVERSA 

import javax.swing.*;  
public class PROY_CONVERSION { 
    public static void main(String[] args) { 
      int mat[][],n=0; 
        ROMANO_ARABIGO ra = new ROMANO_ARABIGO(); 
        ARABIGO_ROMANO ar = new ARABIGO_ROMANO(); 
      String op,rom; 
      do{ 
          op=JOptionPane.showInputDialog("\nM E N U\n 1.‐ CONVERTIR DE ROMANOS A 
ARABIGOS\n 2.‐ CONVERTIR DE ARABIGOS A ROMANOS\n 3.‐ SALIR\n ELIJA OPCION = ");   
          switch (op.charAt(0)) 
          { 
           case '1':rom=JOptionPane.showInputDialog("\nINGRESE NUMERO ROMANO  = "); 
                    ra.convertir(rom); 
                      break; 
           case '2': n=Integer.parseInt(JOptionPane.showInputDialog("\nIngrese Dimension  = ")); 
                   ar.convertir(n); 
                     break; 
        }   
      } 
     while (op.charAt(0)!='3'); 
    } 

 

import javax.swing.*; 
class ROMANO_ARABIGO { 
 int equivalencia (char op) 
 {  int res=0; 
   switch (op) 
   {  case 'I': res=1;break; 
     case 'V': res=5;break; 
     case 'X': res=10;break; 
     case 'L': res=50;break; 
     case 'C': res=100;break; 
     case 'D': res=500;break; 
     case 'M': res=1000;break; 
     default :res=0; 
   } 
   return res;   
 }   
 void convertir (String rom) 
 {int lon=0,i,a=0,b=0,s=0; 
  lon=rom.length(); 
  for (i=0;i<lon‐1;i++) 
  {  a=equivalencia(rom.charAt(i)); 
     b=equivalencia(rom.charAt(i+1)); 
     if (a<b) 
     { 
       s=s+(a*(‐1)); 
     } 
     else 
     { 
       s=s+a; 
     }   
  } 
  s=s+b; 
  JOptionPane.showMessageDialog(null," EL NUMERO ROMANO   "+rom+"   CONVERTIDO EN 
ARABIGO ES  "+s);      
 }     

 
import javax.swing.*; 
class ARABIGO_ROMANO { 
 String equi(int num) 
 {  String res=""; 
   switch (num) 
   {  case 1: res="I";break; 
     case 2: res="V";break; 
     case 3: res="X";break; 
     case 4: res="L";break; 
     case 5: res="C";break; 
     case 6: res="D";break; 
     case 7: res="M";break; 
     default :res=""; 
   } 
   return res;   
 } 
  
 void convertir (int num) 
 { 
   int con=1,u=0,ara=num; 
   String sol=""; 
   do{ 
     u=num%10; 
     if (u==1) {sol=equi(con)+sol;} 
     else if (u==2) {sol=equi(con)+equi(con)+sol;} 
     else if (u==3) {sol=equi(con)+equi(con)+equi(con)+sol;} 
     else if (u==4) {sol=equi(con)+equi(con+1)+sol;} 
     else if (u==4) {sol=equi(con)+equi(con+1)+sol;} 
     else if (u==5) {sol=equi(con+1)+sol;} 
     else if (u==6) {sol=equi(con+1)+equi(con)+sol;} 
     else if (u==7) {sol=equi(con+1)+equi(con)+equi(con)+sol;} 
     else if (u==8) {sol=equi(con+1)+equi(con)+equi(con)+equi(con)+sol;} 
     else if (u==9) {sol=equi(con)+equi(con+2)+sol;} 
        else {sol="";} 
        con+=2;              
        num=num/10;   
   } 
   while(num!=0); 
   JOptionPane.showMessageDialog(null,"  EL NUMERO ARABIGO  "+ara+"  EN ROMANO 
ES   "+sol); 
 }       

You might also like