Foros del Web » Programación para mayores de 30 ;) » Java »

Cifrado de cesar

Estas en el tema de Cifrado de cesar en el foro de Java en Foros del Web. Hola, la cosas es hacer un programa con String en el que introduzcas una frase y encriptarla con el cifrado de cesar introduciendo por teclado ...
  #1 (permalink)  
Antiguo 14/08/2015, 07:45
 
Fecha de Ingreso: agosto-2015
Ubicación: Murcia
Mensajes: 17
Antigüedad: 8 años, 8 meses
Puntos: 0
Cifrado de cesar

Hola, la cosas es hacer un programa con String en el que introduzcas una frase y encriptarla con el cifrado de cesar introduciendo por teclado tambien el desplazamiento.
luego hay que hacerlo a la inversa y la frase encriptada devolver la original. Me funciona todo bien pero cuando escribo una frase con espacios lo encripta bien pero la desencriptacion me da un error.

import java.util.Scanner;
public class Bloque_46 {
public static void main(String[] args) {

Scanner S = new Scanner(System.in);

String f1, f2, f3;

int desplazamiento;

f2 = "";
f3 = "";

String min = "abcdefghijklmnopqrstuvwxyz ";
String may = "ABCDEFGHIJKLMNOPQRSTUVWXYZ ";

System.out.print("introduce una frase: ");
f1 = S.nextLine();

System.out.print("Introduce la clave de desplazamiento:");
desplazamiento = S.nextInt();

for(int i = 0 ; i < f1.length(); i++){
for(int j = 0; j < min.length();j++){
if (f1.charAt(i) == min.charAt(j)){
if(j+ desplazamiento >= min.length()){
f2+= min.charAt((j + desplazamiento)% min.length());
}
else{
f2 += min.charAt(j+desplazamiento);
}
}
else if(f1.charAt(i) == may.charAt(j)){
if(j+ desplazamiento >= may.length()){
f2+= may.charAt((j + desplazamiento)% may.length());
}
else{
f2 += may.charAt(j+desplazamiento);
}
}


}
}
System.out.println(f1);
System.out.println(f2);

for(int i = 0; i < f2.length() ; i++){
for(int j = 0; j < min.length(); j++){
if(f2.charAt(i) == min.charAt(j)){
if(j- desplazamiento <= min.length() ){
f3+= min.charAt((j - desplazamiento)% min.length());
}else{
f3+= min.charAt(j-desplazamiento);
}
}
else if(f2.charAt(i) == may.charAt(j)){
if(j- desplazamiento <= may.length() ){
f3+= may.charAt((j - desplazamiento)% may.length());
}else{
f3+= may.charAt(j-desplazamiento);
}
}
}
}

System.out.println(f3);
}

}

Etiquetas: cifrado, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:28.