圆形密码程序

时间:2016-01-06 18:41:56

标签: javascript

我正在创建一个加密邮件的程序。我计划运行代码的一个功能是循环密码。它还没有工作,我不确定为什么。在某些时候,程序将返回正确的字母,而在其他时候,它不会更改任何内容并返回输入的相同字符。任何建议都表示赞赏。

function circle(message, rotate) {
var alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
for(i = 0; i < message.length; i++) {
    for (i = 0; i < alphabet.length; i++) {
        if (message[i] == alphabet[i]) {
            message[i] = alphabet[i + rotate];
            break;
        }
    }
} 
return message;

}

1 个答案:

答案 0 :(得分:1)

我发现代码中至少有三个错误:

  • 您使用变量i两次。您应该为内部循环使用另一个变量名。
  • 您必须使用余数(模数)运算符来获取值i + rotate模26。
  • 字符串是不可变的。因此,您无法更改字符串的单个字符。