2017-05-16 6 views
-2

にスイッチコードを使用して解決するあなたは、私が暗号のためのソリューションを見てきたシーザー暗号(see this wiki on caesers cipher AKA ROT13Caesers暗号はJavascript

に精通しているかもしれませんが、私は誰がswitch文を使用して表示されません。課題(下記参照)が与えられた場合、switchステートメントを使用することでこの問題を解決できますか?私は下に私のコードを入れているが、それは動作しません。

+3

あなたの質問は、問題を解決するために、あなたの現在の試行に関するいくつかの情報が欠落しているように思えます。あなたはコードのブロックを見逃しましたか? – Ken

+0

いいえ、私はそのように書いた挑戦です。あなたが好きならそれを変更することができます。あなたはフォーマットに従う必要はありませんが、暗号は残っています。希望を助けること –

+2

パラメータを受け入れてそのまま返す 'cciph'という関数があります。これがあなたがしようとしていたものであれば、あなたのコードはうまく動作します –

答えて

0

私はスイッチについてはわかりませんが、理論的にはデコードされた文字列を含む、26個の可能な文字列のすべての突然変異を提供します。

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"]; 
 

 

 
function cciph(cipherText) { 
 
    for(i = 0; i < 26; i++) { 
 
    var decodedText = cipherText.split("").map(function(c) { 
 
     var charIndex = alphabet.indexOf(c.toLowerCase()); 
 
     if (charIndex == -1) { 
 
     return c; 
 
     } 
 
     var modifiedIndex = charIndex + i; 
 
     var correctedIndex = modifiedIndex % 26; 
 
     return alphabet[correctedIndex]; 
 
    }); 
 
    console.log(decodedText.join("")); 
 
    } 
 
} 
 

 
cciph("GUR DHVPX OEBJA QBT WHZCRQ BIRE GUR YNML SBK.");

+0

ありがとう@ケン。上の編集された質問を見てください。私はスイッチを使用しようとしましたが、動作しません。それを微調整することは可能ですか?または、スイッチコードが実行可能ではありませんか? –

+0

私は上記に答えました。基本的に、スイッチはアルファベットの文字を正確に他の1つの結果にマッピングします。ループ内のイテレータのような入力に基づいて各文字の大文字小文字の出力を変更して、26の可能性をすべてテストできるようにする必要があります。 @ Dr.Apell – Ken

+0

@ Ken。洞察に感謝します。 –

関連する問題