我遇到了增加4個嵌套while循環的問題。假設你有一個double類型的數組,並且有很多整數來遞增循環。這裏是一個例子遞增多個嵌套雖然循環
private static double[] approxOfU(double w, double x, double y, double z,
double u) {
double a = 0, b = 0, c = 0, d = 0;
final double[] powerArray = { -5.0, -4.0, -3.0, -2.0, -1, (-1.0/2.0),
(-1.0/3.0), (-1.0/4.0), 0, (1.0/4.0), (1.0/3.0),
(1.0/2.0), 1, 2, 3, 4, 5 };
double[] temp = new double[5];
double approx;
int i = 0, j = 0, k = 0, l = 0;
while (i < powerArray.length) {
a = powerArray[i];
while (j < powerArray.length) {
b = powerArray[j];
while (k < powerArray.length) {
c = powerArray[k];
while (l < powerArray.length) {
d = powerArray[l];
approx = Math.pow(w, a) * Math.pow(x, b)
* Math.pow(y, c) * Math.pow(z, d);
if (Math.abs(approx - u)/u <= 0.01) {
temp[0] = a;
temp[1] = b;
temp[2] = c;
temp[3] = d;
temp[4] = approx;
}
l++;
}
k++;
}
j++;
}
i++;
}
return temp;
}
我在哪裏把我的增量像i ++,j ++,k ++和l ++?該分配只需要在項目的這一部分使用循環。我已經開始工作的項目的for循環部分。請讓我知道你的想法。這段代碼並不是真正的代碼,但我想了解如何更新這些嵌套循環的邏輯,並能夠從中獲取正確的數據。當我使用下面的變量輸出到屏幕時,我最終得到0,所以有些事情是不對的。通常我會在循環的大括號末尾加1(i ++,j ++,...等)。在這種情況下,該方法不會產生好的結果。請幫忙! :)
通常,您不要將增量**放在循環的大括號的末尾**,而是將它放在花括號之前**因此它在循環中並正確更新,因此不會發生無限循環 – nem035 2014-09-22 03:24:36
讓我們改變這一點有點懸而未決,因爲0仍然出現,所以我會重新編寫它。 – 2014-09-22 04:04:10
當在a,b,c和d上面運行這段代碼時,它們都是零,所以近似值如此不對, – 2014-09-22 04:07:20