我手邊有一些微不足道的問題。所以我試圖阻止我的計數器c增加for循環。只有在空的時候,我纔會在池塘裏填滿一個點。如果它已經裝滿了另一條魚(白色或紅色),我不希望櫃檯增加。一旦池塘中的一個點(或元素)被填滿,它就不能再被填滿。所以最終應該有500只白色魚和5只紅色魚。防止遞增
我感覺好像我在用錯誤的條件語句來解決這個問題。一旦我的計數器增加,我的while語句也會調用方法placeFish,同樣增加白色或紅色計數器,這不是我想要做的。我總是得到總數不是500和5的白色/紅色魚,而是更低,因爲當理想情況下,我不希望他們的時間計數器增加。
我正確使用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?
}
}
}
您似乎有點不喜歡以這種方式通過循環增加值。你能解釋一下你想要完成什麼嗎? – Makoto