Java - Convertir numero entero a Romano

 
Vista:

Convertir numero entero a Romano

Publicado por Melissa (1 intervención) el 02/03/2002 02:11:10
Necesito urgente, codigo de algoritmo de conversión de un numero decimal a romano.!, En JAVA

Gracias

Melissa
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de Ricardo

Convertir numero entero a Romano

Publicado por Ricardo (1 intervención) el 22/09/2016 17:57:53
Hola Melissa ahí tienes un ejemplo de conversión hasta el numero 3999 de numero entero a Romano espero que te sirva de auto ayuda
=======================================================================================================
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
int N;
      do {
            N=Integer.parseInt(txtIngresaNumero.getText());
      } while (N < 1 || N > 3999);
      txtRespuesta.setText( " " + convertirANumerosRomanos(N));
  }
 
  //método para pasar a números romanos
  public static String convertirANumerosRomanos(int numero) {
      int i, miles, centenas, decenas, unidades;
      String romano = "";
     //obtenemos cada cifra del número
      miles = numero / 1000;
      centenas = numero / 100 % 10;
      decenas = numero / 10 % 10;
      unidades = numero % 10;
 
     //millar
      for (i = 1; i <= miles; i++) {
             romano = romano + "M";
      }
 
     //centenas
      if (centenas == 9) {
          romano = romano + "CM";
      } else if (centenas >= 5) {
                     romano = romano + "D";
                     for (i = 6; i <= centenas; i++) {
                            romano = romano + "C";
                     }
      } else if (centenas == 4) {
                      romano = romano + "CD";
      } else {
                  for (i = 1; i <= centenas; i++) {
                         romano = romano + "C";
                  }
      }
 
     //decenas
      if (decenas == 9) {
           romano = romano + "XC";
      } else if (decenas >= 5) {
                      romano = romano + "L";
                      for (i = 6; i <= decenas; i++) {
                            romano = romano + "X";
                      }
      } else if (decenas == 4) {
                      romano = romano + "XL";
      } else {
                    for (i = 1; i <= decenas; i++) {
                           romano = romano + "X";
                    }
      }
 
     //unidades
      if (unidades == 9) {
           romano = romano + "IX";
      } else if (unidades >= 5) {
                      romano = romano + "V";
                      for (i = 6; i <= unidades; i++) {
                             romano = romano + "I";
                      }
      } else if (unidades == 4) {
                      romano = romano + "IV";
      } else {
                  for (i = 1; i <= unidades; i++) {
                         romano = romano + "I";
                  }
      }
      return romano;
 
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Convertir numero entero a Romano

Publicado por doctor caramelito (1 intervención) el 04/12/2017 15:06:09
buena! esta si sirve alv no mames
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Convertir numero entero a Romano

Publicado por Noe Vazquez (1 intervención) el 13/11/2019 18:48:45
Hola Melissa, aqui te dejo otra opcion de solucion

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public String solution(int number) {
    String romanNumbers[] = {"M", "CMXC", "CM", "D", "CDXC", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
    int arab[] = {1000, 990, 900, 500, 490, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
    StringBuilder result = new StringBuilder();
    int i = 0;
    while (number > 0 || arab.length == (i - 1)) {
        while ((number - arab[i]) >= 0) {
            number -= arab[i];
            result.append(romanNumbers[i]);
        }
        i++;
    }
    return result.toString();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Convertir numero entero a Romano

Publicado por ivonne (1 intervención) el 26/11/2019 15:51:51
alguien me ayuda a convertir de romano a entero
por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de rerre

Convertir numero entero a Romano

Publicado por rerre (1 intervención) el 28/04/2022 21:51:22
ta weno gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar