繁体   English   中英

Java循环很奇怪的行为

[英]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! 因此循环永远不会结束,并且我有堆栈溢出。 有人可以向我解释这种奇怪的行为吗? 谢谢

注释掉对interpolatedrawPoint调用(即while循环中的第三行和第四行),并根据xpxMax的值来决定循环早晚终止。 如果是这样,请取消注释前面注释的两行之一,并查看在两种情况下会发生什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM