30 lines
1.1 KiB
Java
30 lines
1.1 KiB
Java
package capitulo04.bloque05;
|
|
|
|
import static capitulo04.utils.Utils.*;
|
|
|
|
public class Ejercicio02 {
|
|
public static void main(String[] args) {
|
|
System.out.println("== Cifrador César ==");
|
|
String frase = solicitarStringScanner("Introduzca la frase a cifrar:");
|
|
int clave = solicitarIntScanner("Introduzca la clave o número de movimientos: ");
|
|
|
|
System.out.println("Texto cifrado: ");
|
|
System.out.println(cifrarCesar(frase, clave));
|
|
}
|
|
|
|
public static String cifrarCesar(String textoACifrar, int posicionesAMover) {
|
|
posicionesAMover = posicionesAMover >= 32 ? posicionesAMover / 32 : posicionesAMover;
|
|
textoACifrar = cambiarAMinuscula(textoACifrar);
|
|
|
|
String textoCifrado = "";
|
|
for (int i = 0; i < textoACifrar.length(); i++) {
|
|
if (textoACifrar.charAt(i) + posicionesAMover > 122) {
|
|
textoCifrado += (char) (textoACifrar.charAt(i) + (posicionesAMover - 26));
|
|
} else {
|
|
textoCifrado += (char) (textoACifrar.charAt(i) + posicionesAMover);
|
|
}
|
|
}
|
|
return textoCifrado;
|
|
}
|
|
}
|