Java - En java cree dos applet que permitan 1. Convertir un numero a Número Romanos y viceversa 2. Conver

 
Vista:

En java cree dos applet que permitan 1. Convertir un numero a Número Romanos y viceversa 2. Conver

Publicado por Sergio (1 intervención) el 03/06/2019 05:11:51
En java cree dos applet que permitan
1. Convertir un numero a Número Romanos y viceversa
2. Convertir un numero binario a decimal y viceversa
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 203
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

En java cree dos applet que permitan 1. Convertir un numero a Número Romanos y viceversa 2. Conver

Publicado por Jose Andres (27 intervenciones) el 03/06/2019 07:57:54
Para el primero, esto ya lo haria manual o automatizar lo que pueda, es posible por que lleva ciertas reglas en la numeracion romana

I equivale a 1
V equivale a 5
X equivale a 10
L equivale a 50
C equivale a 100
D equivale a 500
M equivale a 1000
antes reste adelante suma, tomando cifras de 10, 100 o 1000, por ejemplo M=1000 y CMXCIX = 999 (CM=900 + XC=90 + IX=9) algo similar a esto.


En caso del segundo existe una funcion en java para directamente convertir los numeros enteros a binarios y viceversa

1
2
3
4
5
                                    //NumeroINT debe de ser de tipo entero (int)
String NumeroBinario = Integer.toBinaryString(NumeroINT);
//Para regresar al numero en decimal
                                   //NumeroBinario debe de ser de tipo String y el 2 por ser base 2 (binario)
int NumeroDecimal = Integer.ParseInt(NumeroBinario, 2);
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
sin imagen de perfil
Val: 203
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

En java cree dos applet que permitan 1. Convertir un numero a Número Romanos y viceversa 2. Conver

Publicado por Jose Andres (27 intervenciones) el 03/06/2019 09:47:48
Me gusto tomarlo como reto esta interesante pero lo intente algo tarde y en donde vivo son 2:45 am y tengo sueño
Solo convierte numeros arabigos a romanos en el rango de 1 a 1000 si no dan respuesta a mañana espero terminar esto
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
89
90
91
92
93
public class ROMANOS {
    public String arToRom(int N){
        if(N <= 10){
            return arToRom10(N,0);
        }
        if(N <= 100){
            int A=N/10;
            return arToRom10(A,1)+arToRom10(N-(A*10),0);
        }
        if(N <= 1000){
            int A=N/100,B=N-(A*100),C=B/10,D=B-C*10;
            return arToRom10(A,2)+arToRom10(C,1)+arToRom10(D,0);
        }
        return "ERR";
    }
    private String arToRom10(int N,int B){
        switch(N){
            case 4:
                switch (B) {
                    case 0:
                        return "IV";
                    case 1:
                        return "XL";
                    case 2:
                        return "CD";
                }
            case 5:
                switch (B) {
                    case 0:
                        return "V";
                    case 1:
                        return "L";
                    case 2:
                        return "D";
                }
            case 6:
                switch (B) {
                    case 0:
                        return "VI";
                    case 1:
                        return "LX";
                    case 2:
                        return "DC";
                }
            case 9:
                switch (B) {
                    case 0:
                        return "IX";
                    case 1:
                        return "XC";
                    case 2:
                        return "CM";
                }
            case 10:
                switch (B) {
                    case 0:
                        return "X";
                    case 1:
                        return "C";
                    case 2:
                        return "M";
                }
        }
        if(N < 4){
            switch (B) {
                case 0:
                    return arToRomR(N, "I");
                case 1:
                    return arToRomR(N,"X");
                case 2:
                    return arToRomR(N,"C");
            }
        }
        if(N > 5){
            switch (B) {
                case 0:
                    return "V"+arToRomR(N-5,"I");
                case 1:
                    return "L"+arToRomR(N-5,"X");
                case 2:
                    return "D"+arToRomR(N-5,"C");
            }
        }
        return "ERR";
    }
    private String arToRomR(int N,String R){
        String RE="";
        for (int i = 0; i < N; i++) {
            RE+=R;
        }
        return RE;
    }
}

Saludos y espero te sirva de ayuda
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