Java-SubstitutionCipher:encrypt(字符串str、字符串mapTo、字符串mapFrom)
我需要加密从另一个字符串映射的消息。以下是说明: 如果有两个长度相同的字符串,它们有什么共同点(它们都有0..n的索引)。如果您将mapFrom放在页面上mapTo的顶部,然后在它们之间写入索引,您将看到一个模式。在mapFrom中查找字母的索引,将为您提供在mapTo中替换字母的字符 例如,如果您的mapTo是di3kj,mapFrom是abcde,那么您要加密的单词是abba。我取a,在abcde(0)中找到索引,然后使用该索引在替换字符串(d)中找到该索引的字符。然后我们将附加答案,这样构建器最终将拥有diid。请注意,如果角色不在mapFrom中,则表示您不做任何操作,并且完全不更改角色 完成“你的任务”的有用方法有: 索引(字符串)Java-SubstitutionCipher:encrypt(字符串str、字符串mapTo、字符串mapFrom),java,caesar-cipher,Java,Caesar Cipher,我需要加密从另一个字符串映射的消息。以下是说明: 如果有两个长度相同的字符串,它们有什么共同点(它们都有0..n的索引)。如果您将mapFrom放在页面上mapTo的顶部,然后在它们之间写入索引,您将看到一个模式。在mapFrom中查找字母的索引,将为您提供在mapTo中替换字母的字符 例如,如果您的mapTo是di3kj,mapFrom是abcde,那么您要加密的单词是abba。我取a,在abcde(0)中找到索引,然后使用该索引在替换字符串(d)中找到该索引的字符。然后我们将附加答案,这样构
String.valueOf(char)//给出字符的字符串表示形式
字符(int)
contains(String)//如果参数在字符串中,则返回true 在我尝试创建的方法中,有两种不同的方法供我使用。
第一个是移位方法,它只将字符上移或下移1个字符。
第二种方法将整个字符串移位。我尝试创建的方法需要具有此方法签名: 公共静态字符串加密(字符串str、字符串mapTo、字符串mapFrom){}
公共静态字符移位(字符x,字节移位){
int y=x+shift;
返回(char)y;//学生的TODO
}
公共静态字符串simplecarencode(字符串str,字节移位){
StringBuilder=新的StringBuilder();
//学生的待办事项
对于(int i=0;i
public static char shift(char x, byte shift) {
int y = x + shift;
return (char)y; //TODO by student
}
public static String simpleCaesarEncode(String str, byte shift) {
StringBuilder builder = new StringBuilder();
// TODO by student
for(int i = 0; i < str.length(); i++) {
char tmp = str.charAt(i);
builder.append(shift(tmp, shift));
}
// end TODO
return builder.toString();
}
String mapFrom = "ABCEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.?()";
public static String encrypt(String str, String mapTo, String mapFrom) {
StringBuilder rtn= new StringBuilder();
//TODO STUDENT
//END TODO
return rtn.toString();
}