¿Cómo puedo hacer el siguiente codigo con funciones o procedimientos?
Publicado por Jose (32 intervenciones) el 21/01/2017 19:16:53
Solicitu su ayuda para hacer el siguiente codigo con funciones o prcedimientos. He mirado por todas partes como se hace y no me sale y estoy desesperado. Y bueno, lo que he ehco es un cifrador/descifrador de mensajes del sistema de cifrado del Cesar. Se le pide al usuario que introduzca una frase y luego se le pide si quiere cifrarlo o descifrarlo. Espero que puedan ayudarme, gracias:
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
Scanner sc = new Scanner(System.in);
int desplazamiento = 3;
int desplazamiento2 = 3;
String frase1, frase2, palabra, cifrar, descifrar;
frase2 = "";
String min = "abcdefghijklmnñopqrstuvwxyz";
String may = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
System.out.print("Inserte la frase: ");
frase1 = sc.nextLine();
System.out.println("¿Cifrar o descifrar?: ");
palabra = sc.nextLine();
//Comprobar si se ha introducido cifrar o descifrar
if(palabra.equals("cifrar") || palabra.equals("descifrar") || palabra.equals("Cifrar") || palabra.equals("Descifrar")){
//Inicio cifrar
if(palabra.equals("cifrar") || palabra.equals("Cifrar")){
for(int i = 0;i < frase1.length();i++){
for(int j = 0;j < min.length();j++){
if(frase1.charAt(i) == min.charAt(j)){
if(j + desplazamiento >= min.length()){
frase2 += min.charAt((j + desplazamiento)%min.length());
}else{
frase2 += min.charAt(j + desplazamiento);
}
}
else if(frase1.charAt(i) == may.charAt(j)){
if(frase1.charAt(i) == may.charAt(j)){
if(j + desplazamiento >= may.length()){
frase2 += may.charAt((j + desplazamiento)%may.length());
}else{
frase2 += may.charAt(j + desplazamiento);
}
}
}
}
}
}//Fin cifrar
//Inicio descifrar
if(palabra.equals("descifrar") || palabra.equals("Descifrar")){
for(int i = 0;i < frase1.length();i++){
for(int j = 0;j < min.length();j++){
if(frase1.charAt(i) == min.charAt(j)){
if(j - desplazamiento2 >= min.length()){
frase2 += min.charAt((j - desplazamiento2)%min.length());
}else{
frase2 += min.charAt(j - desplazamiento2);
}
}
else if(frase1.charAt(i) == may.charAt(j)){
if(frase1.charAt(i) == may.charAt(j)){
if(j - desplazamiento2 >= may.length()){
frase2 += may.charAt((j - desplazamiento2)%may.length());
}else{
frase2 += may.charAt(j - desplazamiento2);
}
}
}
}
}
}//Fin descifrar
}else{ //Si se produce un error al introducir "cifrar" o "descifrar" nos avisará
System.out.println("Palabra mal introducida. Introduzca cifrar o descifrar");
}
//Dependiendo de si hemos elegido cifrar o descifrar, nos aparecerán mensajes distintos
if(palabra.equals("cifrar") || palabra.equals("Cifrar")){
System.out.println("Frase introducida: " +frase1);
System.out.println("Frase cifrada: " +frase2);
}
if(palabra.equals("descifrar") || palabra.equals("Descifrar")){
System.out.println("Frase introducida: " +frase1);
System.out.println("Frase descifrada: " +frase2);
}
}
}
Valora esta pregunta


0