簡體   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