我手头有一个小问题。所以我试图阻止我的计数器 c 增加 for 循环。我只是在池塘空的时候才试图填补池塘中的一个地方。如果它已经装满了另一条鱼(白色或红色),我不希望计数器增加。一旦池塘中的一个点(或者更确切地说是元素)被填满,就不能再次被填满。所以到最后应该有 500 条白鱼和 5 条红鱼。
我觉得好像我使用了错误的条件语句来解决这个问题。一旦我的计数器增加,调用方法 placeFish 的 while 语句也会增加白色或红色计数器,这不是我想要做的。我不断得到不是 500 也不是 5 的白色/红色鱼的总量,而是更低,因为当理想情况下我不希望它们增加时,while 计数器正在增加。
我使用 for 语句是否正确?我试过一段时间,但它似乎也没有工作。
public static void fishes (int[][] pond) {
//pond has dimensions [50][50] in a different method that call fishes
//every element in the 2D array pond is already set to value 0
int whitefish = 500;
int redfish= 5;
int whitefishvalue = 1
int redfishvalue = 2
int white = 0;
int red = 0;
while (white < whitefish)
{
placeFish (pond, whitefishvalue);
white++;
}
while (red < redfish)
{
placeFish (pond redfishvalue);
redd++;
}
}
public static void placeFish(int[][] pond, int newFish) {
int a = random.nextInt(pond.length);
int b = random.nextInt(pond[0].length);
int spot = 0;
for (int c = 0; c < 1; c++)
{
if (pond [a][b] == spot)
{
pond[a][b] = newFish;
c++;
//How to stop c++ from incrementing?
}
}
}