2017-09-07 9 views
1

問題は与えられた文字列です。与えられた数字の場所から各文字をシフトする必要があります。例えば、Javascript - n個の場所からの文字列のシフト

Encrypt(‘ABC’, 4) should return "EFG" 
Encrypt("AB C", 2) Should equal to “CD E” 
Encrypt("ABC DEF", 2) Should equal to “CDE FGH” 

は、これは私が出ているソリューション

です。

function encrypt(str, index) { 
    var encryptedstr = ''; 
    var charCode = 0; 

    for (i = 0; i < str.length; i++) { 
     charCode = str.charCodeAt(i); 

     if (charCode >= 65 && charCode <= 77){ 
      encryptedstr += String.fromCharCode(charCode + index); 
     }else{ 
      encryptedstr += String.fromCharCode(charCode); 
     } 
    } 
    return encryptedstr; 
} 

これは、指定された入力に対してうまく機能します。しかし、それは私に "答えは任意の入力に対して有効でなければなりません。"私はここで何が間違っていたのですか?

コードを次のように変更しますが、同じエラーが表示されます。

for (var i = 0; i < str.length; i++) 
{ 
    if(str[i] === " ") 
    { 
     encryptedstr += " "; 
    }else{ 
     charCode = (str[i].charCodeAt()) + index; 
     encryptedstr += String.fromCharCode(charCode); 
    }   
} 
+2

あなたが対処することができるはずの入力の種類に関する情報を与えていますか?小文字はどうですか? – Hamms

+3

*「しかし、それは私に伝え続けます」*誰か、それは何ですか?そして、それは入力が失敗するのですか? –

+1

おそらく 'Z'を' D'にシフトする必要があります。 – Ryan

答えて

関連する問題