【问题标题】:Java Script trouble with loopsJavascript循环问题
【发布时间】:2016-08-02 08:42:54
【问题描述】:

我刚开始学习 Java Script,但遇到了循环问题。我正在尝试制作一个将骰子掷出 100 次并打印出结果的程序。当我运行这个程序时,它会打印一卷 100 次,而不是每卷打印一次。谁能告诉我我做错了什么?

function start(){
var roll = Randomizer.nextInt(1 , 6);
for(var i = 0; i < 100; i++ ){
    roll;
    println("you rolled a " + roll);
}




}

感谢大家的帮助!

【问题讨论】:

  • 将 Randomizer 调用放入循环中。 roll; 本身不做任何事情。 (另外,试着给你的问题一个比“x的麻烦”更具体的标题。)
  • roll; 什么都不做。这只是一个声明。如果要拉另一个随机数,则需要实际调用生成随机数的函数Randomizer.nextInt(1,6)

标签: javascript loops dice


【解决方案1】:
var dice = function() {
  var roll = 1,
    counter = 0,
    LIMIT = 100,
    DIE_TOP = 6,
    result = [];
  for (; counter < LIMIT; counter++, roll = Math.floor((Math.random() * DIE_TOP) + 1)) result.push(roll);
  return result;
};

var test = dice();
document.write(test);

【讨论】:

    【解决方案2】:

    您需要在每次循环发生时运行“滚动”,因此您还需要在循环中添加 roll = Randomizer.nextInt(1 , 6); 而不是 roll;

    或者更好的做法(因为你正在学习,它可以帮助你更好地理解),创建一个名为roll() 的函数并将函数返回的内容保存到result 变量中,然后将result 打印出来。

    function roll () {
        return Randomizer.nextInt(1 , 6);
    }
    
    function start () {
        var result;
        for (var i = 0; i < 100; i++ ) {
            result = roll();
            println('you rolled a ' + result);
        }
    }
    

    希望能帮助您了解如何调用函数再次掷骰子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-08
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      • 2016-01-14
      相关资源
      最近更新 更多