溢出 关于最后一位

// 定义 find 函数,用于返回 在字符串中的 index
var find = function(s1,s2) {
    var len = s1.length;
    if (s1.includes(s2)) {
        for (var i = 0; i < len; i++) {
            var str = s1[i];
            if (str == s2) {
                return i;
            }
        }
    }
    return -1;
}



/*实现一个叫 凯撒加密 的加密算法, 描述如下 对于一个字符串, 整体移位, 就是加密 以右移 1 位为例 原始信息 'afz' 会被加密为 'bga' 实现 encode1 函数, 把明文加密成密码并返回 右移 1 位 */ // 考虑 溢出 比如 超过了给定的范围 9 + 1 =0 'dhy' 'eiz' var lower = 'abcdefghijklmnopqrstuvwxyz' var upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' // lower.length = 26; indexmax = 25; var encode1 = function(s) { var result = ''; for (var i = 0; i < s.length; i++) { var index = find(lower,s[i]); var next = (index + 1) % 26; // index 25 的时候是特殊的;下一个是 0;单单 +1 无法解决; // 分类 也能解决;但是 不统一 result += lower[next]; } return result; }
// 测试函数
var test_encode1 = function() { ensure(encode1('afz') === 'bga', "encode1测试1") ensure(encode1('crp') === 'dsq', "encode1测试2") } test_encode1()

猜你喜欢

转载自www.cnblogs.com/hezhouhang/p/9174515.html