2017-02-24 110 views
0
function rot13(str) { // LBH QVQ VG! 
    var newStr = str.split(" "); 

    for(var i = 0; i < newStr.length; i++){ 
    for(var j = 0; j < newStr[i].length; j++){ 
    if(newStr[i].charCodeAt(j) < 78){ 

    String.fromCharCode(newStr[i].charCodeAt(j) + 13); 

    } 
    else if(newStr[i].charCodeAt(j) >= 78){ 
      String.fromCharCode(newStr[i].charCodeAt(j) - 13); 
      } 
    } 
    } 
    return newStr; 
} 

// Change the inputs below to test 
rot13("SERR PBQR PNZC"); 

我能夠將原始代碼翻譯爲其實際字詞,但我無法將它們更改爲新字符串上的正確字詞來完成。有人可以請幫助。如何用新字符串替換舊字符串的值

+0

調用'使用String.fromCharCode()'沒有做什麼用的返回值是毫無意義的。 – Pointy

+0

我知道,但我想知道如何處理返回的值,所以我可以得到「免費代碼營」的輸出 –

回答

0

嘗試這樣的事情......

function rot13(str) { // LBH QVQ VG!  
    var newStr = str.split(" "); 
    var alteredStr = ""; 

     for(var i = 0; i < newStr.length; i++){ 
      for(var j = 0; j < newStr[i].length; j++){ 
       if(newStr[i].charCodeAt(j) < 78){ 

        //String.fromCharCode(newStr[i].charCodeAt(j) + 13); 
        alteredString = alteredString + (newStr[i].charCodeAt(j) + 13).toString(); 
       } 
       else if(newStr[i].charCodeAt(j) >= 78){ 
        //String.fromCharCode(newStr[i].charCodeAt(j) - 13); 
        alteredString = alteredString + (newStr[i].charCodeAt(j) - 13).toString(); 
       } 
      } 
     } 
    return newStr; 
} 

// Change the inputs below to test 
rot13("SERR PBQR PNZC"); 
+0

我仍然有麻煩,因爲它說alteString沒有定義 –

+0

你能發佈你如何「重新使用它? – ShimSham

+0

@Tony becuase'alteredString'沒有在代碼中定義,只有'alteredStr'。將第3行的'var alteredStr =「」;'更改爲'var alteredString =「」;'。 – Darren