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;
    }
}
