我想提示用户提供一系列表示六面骰子卷的整数: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();
}
答案 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"
您的任务,如果您选择接受它,就是了解伪代码的工作方式,然后将其转换为您的实际语言。您似乎完全了解要使用的实际构造,因为您已经全部使用它们,尽管以...错误...有趣的方式,在您提供的代码中: - )