掷骰子并打印每次出现

时间:2016-05-20 03:05:04

标签: arrays for-loop while-loop

我想提示用户提供一系列表示六面骰子卷的整数:1,2,3,4,5和6.完成输入值后,用户应输入-1。我会使用while循环和Scanner方法nextInt()吗? 我需要一个整数数组来跟踪读入时每个芯片值的出现次数。例如,dieCount [3]可以表示已经滚动的3个数量。 然后打印每个芯片值的出现次数。这是我到目前为止所拥有的,但它给了我无限循环......

   //html
   <input type="submit" value="Get City" onclick=" getpop()">
   //JS:
   function getpop() {
        var nereq2 = new XMLHttpRequest();
        nereq2.open("GET", "http://api.census.gov/data/2010/sf1?get=P0010001&for=county:013&in=state:08", true);
        nereq2.onreadystatechange = function () {
            if (nereq2.readyState == 4) {
                var temp3 = nereq.response;  **//problem start at here, which always return empty*******
                document.getElementById("fs").innerHTML = temp3;
            };
        };
        nereq2.send();
    }

1 个答案:

答案 0 :(得分:4)

我很确定代码甚至无法编译,因为你没有声明任何名为intArray的内容。

然而,假设你是一个错字,那么无限循环几乎可以肯定是因为你只得到用户的第一个值,然后循环直到它为止&#39; s -1(大概 - 由于代码有缺陷而很难分辨,但根据我们的情况,这是最可能的解释),打印出每个的累积计数

你需要做的是在获得-1之前有一个循环询问值,将它们累积到你的计数中。然后循环之后,打印出计数。

伪代码会是这样的:

create array count[0..5], all zero

userInput = nextint()
while userInput != -1:
    if userInput < 1 or userInput > 6:
        output "Invalid value ${userInput}, please use -1 or 1..6"
    else:
        increment count[userInput - 1]
    userInput = nextint()

for valThrown in 0..5:
    output "You threw ${valThrown} ${count[valThrown - 1]} times"

您的任务,如果您选择接受它,就是了解伪代码的工作方式,然后将其转换为您的实际语言。您似乎完全了解要使用的实际构造,因为您已经全部使用它们,尽管以...错误...有趣的方式,在您提供的代码中: - )