for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
while (treasures >= 0) {
mapArray[i][j] = rnd.nextInt(2);
treasures -= 1;
}
}
}
用户指定阵列的高度和宽度,以及多少&#34;宝藏&#34;这个数组包含。代码应循环遍历所有数组元素,给它们一个0或1的值(直到用户输入的宝藏数达到0)。
宝藏指示是1。
现在for循环只针对第一个([0] [0])元素。
答案 0 :(得分:1)
你应该消除while循环,因为它会阻止i
和j
递增直到它结束,这就是为什么只分配了mapArray[0][0]
。
for (int i = 0; i < height && treasures >= 0; i++) {
for (int j = 0; j < width && treasures >= 0; j++) {
mapArray[i][j] = rnd.nextInt(2);
treasures -= 1;
}
}
请注意,如果treasures < height * width
,则默认情况下数组的某些元素将包含0。
答案 1 :(得分:0)
删除while循环,因为它强制只运行mapArray [0] [0]而while循环在宝藏变为零时结束。这最终会终止所有循环。
答案 2 :(得分:0)
我认为&#34;宝藏的数量和#34;与&#34; 1&#34;相关联。因此,如果用户希望阵列的高度为4,宽度也为4,并且&#34;宝藏&#34;例如3我会期待这样的事情:三个&#34; 1&#34;和休息&#34; 0&#34;
<input type="submit" class="app-button" id="btnSearch" value="Aply Filters"><br>
<input type="submit" class="app-button" id="btnClearSearch" value="Clear Filters">
在这种情况下,您可以尝试
.app-button{
list-style: none;
text-align: center;
background-color: #01AAAD;
width: 150px;margin:0;
line-height: 60px;
}
答案 3 :(得分:0)
为了理解你的代码,我鼓励你拿笔写下你的代码所做的事情。
例如:
现在提供一些提示:
代码应遍历所有数组的元素,给它们一个0或1的值(直到用户输入的宝藏数达到0)。
你可以把它翻译成:我需要把我的X宝藏放到我的地图上。
所以while循环是一个好主意,但它确实在错误的地方。删除2 for循环并仅保留while循环。
现在想想并找到一种方法,将这些宝藏一个接一个地放在地图上的正确位置。
稍后,如果你需要运行你的地图,那么你将需要你的2 for循环。例如,显示地图可能很有用。
请勿忘记检查输入是否有效。