[英]Java loop very strange behaviour
伙計們,我在這段代碼中遇到了這種奇怪的行為:
CubicInterpolation cInterp = new CubicInterpolation(x,y,1);
int step = 20;
int xp = (int) cInterp.getXmin();
int xMax = (int) cInterp.getXmax();
while(xp <= xMax)
{
int xC = xp;
xp = xp + step;
double yp = cInterp.interpolate(xC);
drawPoint(xC, (int) yp, 2);
}
假設在循環之前xp = 128; 它在循環中遞增,但是當循環第一次結束時,xp再次為128! 因此循環永遠不會結束,並且我有堆棧溢出。 有人可以向我解釋這種奇怪的行為嗎? 謝謝
注釋掉對interpolate
和drawPoint
調用(即while循環中的第三行和第四行),並根據xp
和xMax
的值來決定循環早晚終止。 如果是這樣,請取消注釋前面注釋的兩行之一,並查看在兩種情況下會發生什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.