cours-info/CesarDechiffre.java
2019-06-01 18:27:38 +02:00

29 lines
775 B
Java

import static utils.Utils.*;
public class CesarDechiffre {
public static final void main(String[] args) {
afficher("Chiffre de César - déchiffrement");
testCesar(CesarDechiffre::deCesar, false);
}
public static char[] deCesar(char[] in, int cle) {
// Pour le caractère espace, pas de transformation
// ALPHABET est un tableau des caractères de l'alphabet dans l'ordre
// int position(char c): retourne la position de la lettre dans l'alphabet
// (à partir de 0)
char[] out = new char[in.length];
for (int i = 0; i<in.length; i++) {
char c = in[i];
if (c == ' ') {
out[i] = c;
} else {
out[i] = ALPHABET[(ALPHABET.length+position(c)-cle) % ALPHABET.length];
}
}
return out;
}
}