cours-info/CesarDechiffre.java

29 lines
775 B
Java
Raw Normal View History

2019-06-01 15:36:27 +00:00
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)
2019-06-01 16:23:06 +00:00
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;
2019-06-01 15:36:27 +00:00
}
}