[英]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.