0votos

Clave Murcielago en Java

por guru3k1 hace 4 meses

Estos metodos se pueden mejorar para reducirlos. Tiene muchas lineas pero hace lo que se pide. Codifica y decodifica

Convertir cualquier frase al código con clave murciélago.

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
package murcielago; 
 
public class Murcielago { 
 
    /** 
     * @param args the command line arguments 
     */ 
    public static void main(String[] args) { 
        
       String frase = "miguel esta durmiendo"; 
        
       String encriptado= convertirANumeros(frase); 
        
       String desencriptado = descifrarEncriptado(encriptado); 
        
    static String convertirANumeros(String frase){ 
        String[] murcielago = {"m","u","r","c","i","e","l","a","g","o"}; 
        String encriptado=""; 
        boolean estadoLetra= false; 
        int miNumero=0; 
        for (int i = 0; i < frase.length(); i++) { 
            String soloLetra = frase.substring(i, i + 1);              
            for (int j = 0; j < murcielago.length; j++) { 
                if (soloLetra.equals(murcielago[j]) ) { 
                    estadoLetra= true; 
                    miNumero = j; 
            if (estadoLetra== true) { 
                encriptado = encriptado+miNumero; 
                miNumero=0; 
               estadoLetra=false; 
            }else{ 
                encriptado = encriptado + soloLetra; 
        System.out.println(encriptado); 
        return encriptado; 
 
    private static String descifrarEncriptado(String frase) { 
       String[] murcielago = {"m","u","r","c","i","e","l","a","g","o"}; 
        String desencriptado=""; 
        boolean estadoLetra= false; 
        String miLetra=""; 
        for (int i = 0; i < frase.length(); i++) { 
            String soloLetra = frase.substring(i, i + 1);              
            for (int j = 0; j < murcielago.length; j++) { 
                if (soloLetra.equals(String.valueOf(j)) ) { 
                     
                    estadoLetra= true; 
                    miLetra = murcielago[j]; 
            if (estadoLetra== true) { 
                desencriptado = desencriptado+miLetra; 
                miLetra=""; 
               estadoLetra=false; 
            }else{ 
                desencriptado = desencriptado + soloLetra; 
        System.out.println(desencriptado); 
        return desencriptado;  

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.