You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

38 lines
896 B

package questioncomplementaire;
public class Cesar extends AlgoCodage{
private int decalage;
private String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
public Cesar(int decalage){
this.nom = "César";
this.decalage = decalage;
}
@Override
public String toString() {
return "codage de César (décalage=" + decalage + ")";
}
@Override
public String encode(String s) {
String encode = "";
for(int i=0;i<s.length();i++){
encode += alphabet.charAt((decalage +
alphabet.indexOf(s.charAt(i)))%alphabet.length());
}
return encode;
}
@Override
public String decode(String s) {
String decode = "";
int index;
for(int i=0; i<s.length(); i++) {
index = (alphabet.indexOf(s.charAt(i))-decalage) % alphabet.length();
index += (index<0)?alphabet.length():0;
decode += alphabet.charAt(index);
}
return decode;
}
}