Java循环非常奇怪的行为

时间:2014-11-22 11:16:20

标签: java loops

好吧,伙计们,我在这段代码中遇到了这种奇怪的行为:

    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 !!所以循环永远不会结束,我有堆栈溢出。 有人可以解释一下这种奇怪的行为吗?感谢

1 个答案:

答案 0 :(得分:0)

评论您对interpolatedrawPoint的调用(即while循环中的第3行和第4行),并取决于您的循环xpxMax的值迟早会终止。如果是这样,请完全取消之前评论过的两行,并查看两种情况下会发生什么。