首页 > 解决方案 > 生成具有给定变量的随机字符串

问题描述

所以我的任务是生成随机字符串,其中包含 k 个单词,单词字母数从 m(min) 和 n(max) 中随机化。

实际上我已经做了所有事情,我只是不明白为什么Math.random()函数每次都给出相同的数字,这就是为什么随机字数不起作用,它总是在每个 k 字中使用相同的字母数。

这是我的代码:

// Random string with more given variables
function randomStringIntermediate(){
    var m = parseInt(prompt("How many random letters in a word(min)"));
    var n = parseInt(prompt("How many random letters in a word(max)"));
    var k = parseInt(prompt("How many words in a string"));
    var letters = ("abcdefghijklmnopqrstuvwxyz");
    var p = document.getElementById("p9");
    var word = "";
    for(j = 0; j < k; j++){
        word += " "
        for(i = 0; i < (Math.floor(Math.random()) + m) * (n-m); i++){
            var letter =  letters.charAt(Math.random() * letters.length);
            word += letter;
        }
    }
    p.innerHTML = word;
}

标签: javascript

解决方案


只是改变

(Math.floor(Math.random()) + m) * (n-m)

(Math.floor(Math.random() * (n-m) + m))

推荐阅读